Migrationタスク(DBバージョン管理)| Tasks

マイグレーションタスクはデータベースのバージョン管理(アップグレード/ダウングレード)を可能にします。マイグレーションファイルの作成に関してはこちらを参照してください。

例えば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を実行する