教义迁移总是添加相同的查询

时间:2019-03-19 16:40:40

标签: php symfony doctrine migration

一段时间以来,我一直在遇到关于“教义迁移”的问题。几周前,我以为我通过删除所有迁移文件来解决此问题,而是做了一个大的比较差异。但是看来问题又回来了。

注意:我已经检查了服务器版本

所以,我有这个表,是在我的大迁移文件中创建的

146ms: subscribe 10000
148ms: subscribe 100
253ms: complete 100
10152ms: fired 10000
10152ms: complete 10000
10152ms: subscribe 200
10153ms: fired 100
10353ms: fired 200
10353ms: complete 200

如您所见, CREATE TABLE hour_synthesis ( id INT NOT NULL, fiscal_year_id INT DEFAULT NULL, month VARCHAR(255) NOT NULL, year VARCHAR(255) NOT NULL, worked_days VARCHAR(255) NOT NULL, hours_to_sell VARCHAR(255) NOT NULL, adapted_hours VARCHAR(255) NOT NULL, percentage NUMERIC(5, 2) DEFAULT '100' NOT NULL, PRIMARY KEY (id) ) 字段具有所需的所有内容,但是如果我开始比较...

percentage

请注意,迁移将设置类型,设置默认值,不设置为null,删除刚设置的默认值,再次设置类型,并使用public function up(Schema $schema) : void { // this up() migration is auto-generated, please modify it to your needs $this->abortIf($this->connection->getDatabasePlatform()->getName() !== 'postgresql', 'Migration can only be executed safely on \'postgresql\'.'); $this->addSql('ALTER TABLE hour_synthesis ALTER percentage TYPE NUMERIC(5, 2)'); $this->addSql('ALTER TABLE hour_synthesis ALTER percentage SET DEFAULT \'100\''); $this->addSql('ALTER TABLE hour_synthesis ALTER percentage SET NOT NULL'); $this->addSql('ALTER TABLE hour_synthesis ALTER percentage DROP DEFAULT'); $this->addSql('ALTER TABLE hour_synthesis ALTER percentage TYPE NUMERIC(5, 2)'); $this->addSql('COMMENT ON COLUMN hour_synthesis.percentage IS NULL'); $this->addSql('ALTER TABLE product ALTER stock_management SET DEFAULT \'false\''); } 进行注释。 (最后一行没有关系,但这是这些迁移工件中的另一个)

当然,如果我进行了迁移,则可以,但是下一个差异带来了完全相同的代码。我尝试删除一些行,例如IS NULL,以便实际设置默认值。但是再说一次,下一个差异完全相同。

我尝试更新架构以查看可以看到的...猜猜是什么

DROP DEFAULT

({$ db d:s:u --dump-sql The following SQL statements will be executed: ALTER TABLE hour_synthesis ALTER percentage TYPE NUMERIC(5, 2); ALTER TABLE hour_synthesis ALTER percentage SET DEFAULT '100'; ALTER TABLE hour_synthesis ALTER percentage SET NOT NULL; ALTER TABLE hour_synthesis ALTER percentage DROP DEFAULT; ALTER TABLE hour_synthesis ALTER percentage TYPE NUMERIC(5, 2); COMMENT ON COLUMN hour_synthesis.percentage IS NULL; ALTER TABLE product ALTER stock_management SET DEFAULT 'false'; 是我的docker别名)

我觉得自己陷入了僵化的迁移的无休止循环中,任何建议都值得欢迎,因为我真的不想每次我运行此问题时都删除我的迁移文件

0 个答案:

没有答案