Baby step - 思考と実験の足跡

日常のちょっとした、気になって試したこと集です。

マイグレーション作成時のテストは別DBを選択するとラク

ローカル環境への実行といえど、マイグレーションの動作テストに失敗するとテストデータの入れ直しが地味に大変。 変更箇所が多いとヌケモレも起きやすいので、リスクが増える。

そんなわけで、マイグレーション用のDBを用意するとラク

# app.php

'Datasources' => [
        'default' => [
            'username' => '', # localDBのusername
            'password' => '', # localDBのpassword
            'database' => '', # localDBのDB名

        /**
         * The test connection is used during the test suite.
         */
        'test' => [
            'username' => '', # testDBのusername
            'password' => '', # testDBのpassword
            'database' => '', # testDBのDB名
        ],
    ],

今回はtestにしていますが、違う名前でもOK.

testは基本的にはユニットテスト時に使うDBです。 わたしはFixtureを使う派でtestDBの中身はカラなので使ってます。

実行時は以下のコマンド

$ bin/cake migrations migrate -c test

-cを使うと環境を指定できます。

app.phpDatasourcesに、devというキーを設定した場合は-c devと書けば呼び出せます。

参考記事

migrate : マイグレーションを適用する