91499


Laravel9+dockerで開発をしています。

初期データまたはサンプルデータを作成するために `db:seed` を実行しようとしています。  
このまま実行すると開発用のデータベースにデータが作成されます。

テスト用データベースにも同様に初期データ、サンプルデータを追加しようとしていますが、やり方がわかりません。

`config/database` の `connections` で開発用は `mysql` 、テスト用は `testing` を設定しています。  
`.env.testing` は使用していません。

よろしくお願いします。


CC BY-SA 4.0
2022-10-08T09:52:17.927
91497
2022-10-08T13:55:05.617
2022-10-08T10:41:51.243
7980
7980
question
laravel
Laravel9 で テストデータベースに対して seeder を実行するにはどうすればよいのですか？


`db:seed` コマンドのオプションとして `--database=testing` を指定することで可能なはずです。

ただし、テストの内容によっては冪等性担保のために `RefreshDatabase`などと`InteractsWithDatabase::seed`
(`$this->seed($seeder)`)をインテストで併用するなどをしたほうがいい場合もあるでしょう。
<https://readouble.com/laravel/9.x/ja/database-testing.html>

また、`--database`を引数として指定できないartisanコマンドの実行時には(テンプレートのデフォルトの構成の場合)
`DB_CONNECTION=hoge ./artisan fuga` のように `DB_CONNECTION`
環境変数を指定することでデフォルトのDBコネクションをオーバーライドできるはずです。


CC BY-SA 4.0
2022-10-08T13:55:05.617
91499
2022-10-08T13:55:05.617
2376
91497
answer