У меня есть простая миграция laravel с внешним ключом.
public function up()
{
Schema::create('smp_posts', function (Blueprint $table) {
$table->increments('id');
$table->integer('project_id')->unsigned();
// Some other stuff
$table->foreign('project_id')->references('id')->on('smp_projects')->onDelete('cascade');
});
}
Когда я запускаю команду migrate php artisan migrate:refresh
.Я получаю эту ошибку:
Подсветка \ База данных \ QueryException:
SQLSTATE [2BP01]: Зависимые объекты все еще существуют: 7
ОШИБКА: невозможно удалить таблицу, поскольку smp_projectsдругие объекты зависят от него. DETAIL: ограничение smp_posts_project_id_foreign для таблицы smp_posts зависит от таблицы smp_projects
Обычно все дочерние элементы должны быть удалены, потому что я установил onDelete()
в каскад.Правильно?Что не так?