Closed4

FactoryとSeeder

buno15buno15

Laravel環境でのSeederとFactoryについてまとめる

buno15buno15

Factory

  • DBに挿入するダミーデータの設計書を定義する
  • ダミーデータの生成ロジックを定義しModel単位で実装する
  • Seederやテストから呼び出される

Seeder

  • DBにデータを挿入する役割
  • Factoryや手動で作成したデータをもとにDBにデータを挿入する
  • データの個数などを制御する
php artisan db:seed --class=UserSeeder
buno15buno15

外部キーをもつダミーデータ作成の場合、SeederかFactoryかどこでリレーションを作成するのか?

buno15buno15

Factoryに記述

  • Seederに記述すると、新しくSeederを作成するたびにリレーションを定義しなければならいない
  • Factoryであれば'user_id' => User::factory()のように簡潔にかける

Seederに記述

  • 明示的なデータを作成できる
  • あるSeederにおける特定のデータを作成する場合に適している
このスクラップは29日前にクローズされました