Schema Dump機能
Laravel8から「Schema Dump」機能が追加されました。
マイグレーションファイルを1つのダンプファイルに圧縮して、マイグレーション作業を高速にしようという機能です。
以下コマンドでダンプファイルの作成が可能です。
php artisan schema:dump
詳しくはこちら
今回は、あるリポジトリで作成したダンプファイルを
他のリポジトリで使い回す方法を書き残します。
(これに丸一日費やしたなんて言えない。。)
設定方法
設定はとても簡単です。
以下のうち、どちらかを設定してください。
パターン1 App/Providers/AppServiceProvider.phpに設定追加
bootメソッド内に下記の一文を追加してください。
public function boot(){
$this->app->useDatabasePath('../your-migration-repo/database')
}
パターン2 bootstrap/app.php
bootstrap/app.phpに以下を追加してください。
//スキーマファイルのパスを設定
$app->useDatabasePath('../your-migration-repo/database');
結果
モデルのUTなどを含むマイグレーション作業が爆速になる!
モデルのUTについては、前はテスト実行から終了まで3分ほどかかっていました。
しかし、ダンプファイルを使用するように変更したところ、実行から終了まで1分未満に短縮されました。
ぜひSchema Dump機能を使ってみてください!