環境
Laravel v9.5.1 (PHP v8.1.3)
状況
php artisan migrate:refresh --seed
を実行したとき、外部キーを設定している場合に下記のエラーが出ることがある。
Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails...
原因
上記コマンドでrefresh
した後にdb:seed
を実行しているが、seedを実行するファイルの順番で子ファイルが親ファイルより先に実行されてしまっているから。
解決法
migrateがちゃんとされているかを確認しできていたら、
ファイルを指定して、親ファイルが先にseedされるようにする。
db:seed --class=HogeSeeder