前回に引き続き、CakePHPでのテーブル作成に関するTips。前回は初回のマイグレーションについて紹介しているが、それ以降のテーブル定義変更についても便利なコマンドが用意されていたので早速使ってみた。
DBからmigrationファイルを逆生成 – migration_diff
前回紹介したmigration_snapshot コマンドで初回のマイグレーションを実行後に、テーブル定義を変更することも珍しくないことと思う。
【CakePHP4】DBからmigrationファイルを逆生成
CakePHPを用いた直近の開発ではmigrationファイルを用意して変更管理するのが通例となっているため、今回もそれを採用することとした。Cookbookを眺めていたところズバリな機能が用意されていた。
テーブル定義の変遷を辿るため、マイグレーションファイルもバージョン管理下としている開発プロジェクトも少なくないのでは。
そういった場合、追加でマイグレーションファイルを用意することになるが、こちらもテーブル定義から逆生成するためのコマンドがすでに用意されている。
bin/cake bake migration_diff ファイル名
DB管理ツール上でさっと手直しを加え、migration_diff で変更分のマイグレーションファイルを生成するだけでチームに展開可能となったのだ。
あまりの手軽さに、これまでのテーブル変更に対する心理的なコストがぐっと軽減されたことを痛感した。