Yii迁移成功运行,但结果是部分的

时间:2015-02-06 22:57:19

标签: php mysql sql yii database-migration

我为我的网站编写了一个特别长的迁移,不幸的是它被改变了很多(我知道我应该编写额外的迁移,而不是改变先前存在的迁移,但在这种情况下这是不可能的) 。

这是一个复杂的迁移,因此我将其写入safeUp()函数,因为它应该包含在事务中。当我运行迁移时,一切似乎都很完美。它向我展示了运行时的每个SQL命令,然后在结束时说它运行成功。迁移在历史记录中正确显示。但是,当我访问数据库时,我意识到迁移只是部分完成。哪个应该是不可能的,因为它是用safeUp()编写的。

应该注意的是,我一次运行了许多迁移,并且每个迁移都成功运行。我唯一一次工作,我运行所有其他迁移,直到有问题的一个(使用./yiic迁移到 timestamp ),然后将sql复制粘贴到phpmyadmin,然后手动运行。轰隆隆,做得很好。

有人遇到这个问题吗?

- 编辑:我认为这里的问题是Yii在$this->execute('sql')内运行时以一种有趣的方式解析SQL注释,因此它生成的SQL与原始SQL不同。

- Edit2:现在已经很久了,但我现在正在学习这个错误https://github.com/yiisoft/yii2/issues/9894。我认为它也适用于Yii1,如果有人在读这个。

0 个答案:

没有答案