1

YII1.1.12を使用しています。私がする時:

yiic migrate

アプリケーションの保護されたフォルダー内に、適用する新しい移行があると言われます。移行が適用されるように、「はい」と答えます。しばらくすると、次のようになります。

*** applied m121220_121256_initialize_database (time: 6.060s)
Migrated up successfully.

この時点まではすべて問題ありません。次に、「yiic merge」と入力すると、新しい移行がないと言われる代わりに、次のように言われます。

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 に答える