EC-CUBE ver4.2でマイグレーションの変更
いつも実行できていたコマンドが…
マイグレーションの実行コマンドに変更が入っておりました。
ver4.2にはログインの試行回数の上限を超えると自動ロック機能が入っていたりと、改修されている部分がありますが、マイグレーションの実行コマンドも同様に変更がありました。
初見で少し焦りましたので、同じようにして少しハマっている方々への共有です。
マイグレーションのロールバック
~ver4.1
bin/console doctrine:migrations:execute --down 20240218113309
ver4.2~から同じコマンドで実行しようとすると…
WARNING! You are about to execute a migration in database "eccubedb" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:
yes
In MigrationClassNotFound.php line xx:
Migration class "20240218113309" was not found?
マイグレーションをロールバックしようとするとそんなクラスないよ、とエラーになります。
そのためver4.2では以下のコマンドでロールバックできます。
ver4.2~
bin/console doctrine:migrations:execute --down 'DoctrineMigrations\Version20240218113309’
マイグレーションの確認をスキップして実行
ver4.2からはマイグレーション実行時に以下のように毎度確認ステップが入りました。
これ毎度聞かれるのは面倒なのでスキップしたい方は多いかと思います。
bin/console doctrine:migrations:migrate
WARNING! You are about to execute a migration in database "eccubedb" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:
上記をスキップするにはマイグレーション実行時に--no-interactionをオプションでつけます。
bin/console doctrine:migrations:migrate --no-interaction
以上になります。
今後もEC-CUBEでの変更点やTipsをブログにしていきますので、