Я попытался добавить ограничение внешнего ключа с помощью миграции. Миграция завершается без ошибок. Однако, когда база данных проверена, ограничение внешнего ключа не добавляется в таблицу. Другие вещи, указанные в миграциях, работают отлично, за исключением ограничения FK.Переходы Laravel - внешний ключ не применяется к таблице
Мой поворотный стол с ФКС:
Schema::create('book_author', function (Blueprint $table) {
$table->integer('book_id')->unsigned();
$table->integer('author_id')->unsigned();
$table->foreign('book_id')->references('id')->on('book')->onDelete('restrict')->onUpdate('cascade');
$table->foreign('author_id')->references('id')->on('author')->onDelete('restrict')->onUpdate('cascade');
$table->primary(['book_id','author_id']);
});
Schema::enableForeignKeyConstraints();
Автор таблице:
Schema::create('author', function (Blueprint $table) {
$table->increments('id');
$table->string('email', 250)->unique();
});
Забронировать столик:
Schema::create('book', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
});
Что я здесь отсутствует?
Какие базы данных? Как вы проверяете, есть ли у вас внешний ключ? – user3158900
Добавляя поле с фиктивными значениями id для обоих столбцов. – paarandika
Является ли ваш настольный движок InnoDB или MyISAM? –