YII迁移历史没有保存到数据库中


YII Migration History Not Being Saved Into Database

我使用的是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表时,那里只有基本迁移。没有initialize_database

任何想法?

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

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

这样你就可以做进一步的测试,看看这是一个迁移错误,还是在迁移中有破坏性的东西,比如删除/创建数据库。

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