環境
Laravel v9.5.1 (PHP v8.1.3)
状況
usersテーブルをphp artisan migrate:rollback
したときのエラー。
Cannot drop table 'users' referenced by a foreign key constraint 'posts_user_id_foreign' on table 'posts'. (SQL: drop table if exists `users`)
原因
usersテーブルにpost_id
が外部キーとして設定されており、postsテーブルよりusersテーブルを先にrollback
しようとしたため。
解決法
migrationファイルで外部キーを削除する。
public function down()
{
Schema::table('posts', function (Blueprint $table) {
$table->dropForeign('posts_user_id_foreign');
});
}
再度php artisan migrate:rollback
でrollback!