マイグレーションタスクはデータベースのバージョン管理(アップグレード/ダウングレード)を可能にします。マイグレーションファイルの作成に関しては
こちらを参照してください。
例えばuserテーブルを作成するにはテーブル作成用のマイグレーションファイル
migration/default/1_User_create.php を作成しタスクを実行します。
$ sakle Migration development 1
[SUCCESS]: UPGRADE FROM 0 TO 1
これでコネクションネームdefaultのデータベースに、userテーブルが作成されます。
userテーブルに新しいカラムが必要になった場合は、カラム追加用のマイグレーションファイル
migration/default/2_User_addColumn.php を作成しタスクを実行してください。
$ sakle Migration development 2
[SUCCESS]: UPGRADE FROM 1 TO 2
現在のバージョンより小さいバージョンを指定することで、ダウングレードすることができます。下記ではバージョン2で追加されたカラムを削除し、バージョン1で作成されたテーブルを削除し、バージョンを0にしています。
$ sakle Migration development 0
[SUCCESS]: DOWNGRADE FROM 2 TO 0
現在のバージョンを確認するには "-v" もしくは "--version" を使用してください。
$ sakle Migration development -v
[SUCCESS]: CURRENT VERSION: 0
コネクションネームが default 以外のデータベースに対して実行する場合は、最後の引数でそれを指定してください。これは上のバージョン確認においても同じことが言えます。また、例えばコネクションネームが test のデータベースに実行するマイグレーションファイルは
migration/test の下に設置します。
$ sakle Migration development 1 test
---------------------------------------------
$ sakle Migration development -v test
バージョン番号には、以下の特殊な値を渡すことが可能です。
| 引数 |
サマリ |
| head |
現在のバージョンからマイグレーションファイルの最大のバージョンまで実行する |
| foot |
最も小さいバージョンまで実行する(0を指定するのと等価) |
| rehead |
footを実行後にheadを実行する
|