やりたいこと
- 初期開発時にmigrationファイルを増やしたくないので、1テーブル1ファイルで運用したい。
- そうすると都度
migrations rollback
が必要になる。 - 都度
migrations rollback
してmigrate
して、、というのを一つずつコマンドで打ちたくない。
ということで全部一括でできるシェルを作っておく。
環境(今回の作業に関連ないものも記載)
- MacBookPro(macOSCatalina10.15.5)
- PHPStorm2020.2
- docker desktop2.2.0.3
- cakephp4.1.2
実装
app/migrate.sh
bin/cake migrations rollback -d 20200101
bin/cake migrations migrate
bin/cake migrations seed
bin/cake bake baked_model all -f
rollbackはマニュアルに書いていないが、-dで日時指定ができる。(migrations rollback -h
で他のオプションも確認可能)
十分に古い日時を指定すれば一発で初期状態に戻せる。
seedは全実行にしているが --seed LocalSeed
とかで指定しても良い。
参考
baked_modelはbakeを繰り返し実行できるようにするための独自のコマンド。
参考
実行方法
bash ./migrate.sh
その他
開発環境が少しずつ整ってきていて気分がいいです。