1

我正在使用 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 的内容。

有任何想法吗?

4

2 回答 2

1

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

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

这样,您可以进行进一步的测试,以查看它是迁移错误还是迁移中的破坏性因素,例如删除/创建数据库。

于 2012-12-21T15:06:59.790 回答
0

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

于 2013-02-16T15:23:46.620 回答