我正在使用YII 1.1.12。当我这样做时:
yiic migrate
在我的应用程序的受保护文件夹中,我被告知有一个新的迁移要应用。我回答“是”,以便应用迁移。过了一会儿,我得到了:
*** applied m121220_121256_initialize_database (time: 6.060s)
Migrated up successfully.
到目前为止一切都很好。然后,当我输入'yiic migrate'时,我不会被告知没有新的迁移,而是告诉我:
Yii Migration Tool v1.0 (based on Yii v1.1.12)
Total 1 new migration to be applied:
m121220_121256_initialize_database
应用上述迁移? (是|否)[否]:
当我检查tbl_migration表时,唯一的就是基本迁移。没有关于初始化数据库的信息。
有什么想法吗?
答案 0 :(得分:1)
您的迁移是否会创建数据库?如果是这样,它可能会抛弃Yii,并且它在开始时创建了迁移结构,然后无法插入,我不确定它的行为是什么。
如果m121220_121256_initialize_database
正在进行任何类型的破坏性工作,那么在运行它之后使用yiic migrate mark 121220_121256
手动将数据库设置为此迁移可能是个好主意。
通过这种方式,您可以进行进一步的测试,看看它是迁移错误还是迁移中的破坏性内容,例如删除/创建数据库。
答案 1 :(得分:0)
我意识到问题是我直接从PHPMyAdmin运行的sql命令包含一个事务。当我删除有关事务的行时,yii_migration表中的数据库行已成功插入。我不确定为什么会这样,但确实如此。