5000164 is here
2015-03-19

FuelPHP でデータを YAML 形式でインポート/エクスポートするタスク

データを YAML で管理する

DB のデータを YAML で管理すると楽です。
テストデータの状態を保てるし、バージョン管理ができる。
だからデータをインポート/エクスポートするタスクを作りました。
動作を確認した環境は FuelPHP 1.7.2 と MySQL 5.6 です。
FuelPHP でデータを YAML 形式でインポート/エクスポートするタスク

注意点

FuelPHP の DB 接続は PDO じゃなくて MySQLi じゃないと動きません。
接続しているデータベースのテーブル一覧を取得したかったのだが、取得する方法がわからなかった。
そういえば ORM のドキュメントに、プロパティをちゃんと設定しないと毎回アクセスして情報を取得するって書いてあったなと思い出して、core の DB クラスになんかないかなと眺めてたら list_tables というメソッドがあった。
list_tables でテーブル一覧が取れるかなと思ったら動作せず、PDO はサポートしていないと表示された。
なので MySQLi で接続して DB::list_tables() でテーブルの一覧を取得して利用しているが、PDO の場合のテーブル一覧の取得方法がわからないままなので MySQLi じゃないと動きません。

テストデータを外部ファイルでバージョン管理って初めてやったけど便利

テストデータに再現性があって共有できると便利。

結果

最初の方はインポート機能がめっちゃ便利。
機能が実装されるにつれてエクスポート機能が欲しくなる。