環境
Laravel v9.5.1 (PHP v8.1.3)
状況
php artisan migrate
実行したときに下記のエラー。
Failed to open the referenced table 'users' (SQL: alter table `posts` add constraint `posts_user_id_foreign` foreign key (`user_id`) references `users` (`id`))
原因
外部キーを設定しているmigrationファイルがあるときに、「posts
テーブルがuser_id
を持っている状態で、users
テーブルを参照したいけどできない」というエラー。
migrationファイルを生成したときの日付がusers
テーブルよりposts
テーブルが先になってしまっていた。
解決法
migrationファイルの日付を親ファイルが子ファイルより先になるように修正する。