年半運営した結果」でした。新しく追加された機能について、ざっくり書きます。対象読者は以下のような人です。設定ファイル両方でインストール済みマイグレーションの情報を持っていて、どっちが何用だかよく分からなくて心が虚無に呑まれるとか、そういう時に中身のことがちょっとだけ知りたくなります。含まれる機能の話もちょっとだけ含まれています*1。マイグレーション機能は、そのままではソースコードに直接あらわれない変更をソースコード上に記録し、変更を取り消したり再現したりする仕組みです。ファイルのバージョンを管理する、というような形で扱うのは不便です。移行や、引っ越し等による環境差異の吸収も難しくなったりします。移行を容易に扱うことができるようになります。指定可能)、PHPファイルとして作成します。スキーマを変更するマイグレーションファイルは、oilで追加することも可能です。スキーマの変更だけではありません。可能なことなら何でもできます*1。つのパーツに分かれています。タスクはそのコマンドラインインターフェースとなります。タスクは、このクラスを利用することでマイグレーション機能を提供しています。クラスを使ってマイグレーション機能へアクセスするようなことも、一応は可能です*1。*1可能というだけで、多数のユーザから同時にマイグレーション機能へアクセスし得るような作りはおすすめしません。テーブルの内容を読み込みます。あれば対象に含める、というような判断に使われ、スクリプト実行中のマイグレーション操作にあわせて内容が増減します。クラスを通して行われた変更以外は検知されないことに注意してください。やろうとする人はあまりいないでしょうが、マイグレーションを並列で実行しようとするようなことはトラブルの元となり得ます。メソッドは現在のバージョンから指定されたバージョンへ向けて、マイグレーションファイルを逐次に実行していくのに使います。薄いラッパーで、現在のバージョンから最新バージョンのマイグレーションファイルまでを実行していきます。いった各マイグレーション対象について、最後に書かれているものが「現在のバージョン」として使われます。あれば逆順に)実行されていくことになります。呼ぶことでソートされており、実行順序は自然順に並ぶことが保証されています。目の引数として)、真偽値を受け付けます。渡された場合は設定ファイルの「現在のバージョン」を無視し、指定バージョンまでのマイグレーションファイルを最初から実行していく挙動となります。マイグレーションテーブルへインストール済みかどうかのチェックは、デフォルトの場合と変わらず行われます。オプションを使うことで利用できます。場合と同様に「現在のバージョン」を取得し、この「現在のバージョン」へ向かって、マイグレーションファイル用フォルダの内容を最初から実行していきます。マイグレーションテーブルへインストール済みかどうかのチェックが、実行するか否かの判定に使われます。