簡単ですが、なんとか週2postを達成するためにしょうもないネタを。
cakephp3でテストを作成する際にfixtureデータを作成するんですが、作るのが結構めんどくさい。
bakeコマンドでベースのファイルは作成できるけど、実際のデータは作らないといけない。
現状のデータをfixtureデータとして使えないかとみていると、オプションで使えることがわかった。
以下がコマンド
$ bin/cake bake fixture -r -n 30 -f -s テーブル名
これで指定したテーブルから、30件分の実データを引っ張ってきてfixtureデータとしてファイルを作成してくれる。
たとえばデータが死ぬほど多い場合は、以下のようにSQLでfixtureデータとして扱いたいデータを指定できる。
$ bin/cake bake fixture -r -n 30 -f --conditions="created >= '2018-01-01 00:00:00'" -s テーブル名
一からプロジェクトを作る場合は問題ないけど、cakephp3への移植を行う場合は、一からテストデータ作るよりも、現状のデータを使ってテストを書くほうが早いと思った。
とりあえず少ないけどノルマ達成・・・w