YII迁移历史未被保存到数据库中

时间:2012-12-21 14:26:47

标签: php yii

我正在使用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表时,唯一的就是基本迁移。没有关于初始化数据库的信息。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的迁移是否会创建数据库?如果是这样,它可能会抛弃Yii,并且它在开始时创建了迁移结构,然后无法插入,我不确定它的行为是什么。

如果m121220_121256_initialize_database正在进行任何类型的破坏性工作,那么在运行它之后使用yiic migrate mark 121220_121256手动将数据库设置为此迁移可能是个好主意。

通过这种方式,您可以进行进一步的测试,看看它是迁移错误还是迁移中的破坏性内容,例如删除/创建数据库。

答案 1 :(得分:0)

我意识到问题是我直接从PHPMyAdmin运行的sql命令包含一个事务。当我删除有关事务的行时,yii_migration表中的数据库行已成功插入。我不确定为什么会这样,但确实如此。