CakePHP 4 で Migrations や Seeds を別フォルダに置いて実行
今日は CakePHP 4 の bin/cake migrations コマンドで、別フォルダに設置したマイグレーションやシードを実行する方法をご紹介します。
動作確認に使用したのは CakePHP 4.2.3 (cakephp/migrations 3.0.0) で、ファイル構成は以下のような感じです。
/path/to/cakephp4/
├ config/
│ ├ MyMigrations/
│ │ └ 20210126000001_CreateDrinks.php
│ │
│ ├ MySeeds/
│ │ └ DrinksSeed.php
│ │
~ ~
マイグレーションでもシードでも、source オプションを使うことでフォルダを指定することができます。
$ bin/cake migrations migrate --source MyMigrations
$ bin/cake migrations seed --source MySeeds
省略形の -s も使用可能です。
$ bin/cake migrations migrate -s MyMigrations
$ bin/cake migrations seed -s MySeeds
- migrate : Applying Migrations (Migrations - CakePHP Migrations 3.x Cookbook)
- https://book.cakephp.org/migrations/3/en/index.html#migrate-applying-migrations
- seed : Seeding your database (Migrations - CakePHP Migrations 3.x Cookbook)
- https://book.cakephp.org/migrations/3/en/index.html#seed-seeding-your-database
執筆時点では上記ドキュメントは開発途中とされていて、一部仕様と異なる説明があるかもしれません。