Я пытаюсь удалить уникальное ограничение и продолжаю сталкиваться с проблемой ограничения внешнего ключа:
Вот исходный перенос:
Schema::table('table', function (Blueprint $table) {
$table->bigInteger('other_table_id')->unsigned()->unique()->nullable();
$table->foreign('other_table_id')->references('id')->on('other_table')->onDelete('set null');
});
Перенесемся вперед: я пытаюсь удалить ограничение UNIQUE из столбца в таблице, не затрагивая внешний ключ.
Schema::table('table', function (Blueprint $table) {
$table->dropUnique('table_other_table_id_unique');
});
Вот ошибка, которую я получаю.
SQLSTATE[HY000]: General error: 1553 Cannot drop index 'table_other_table_id_unique': needed in a foreign key constraint
Я также пытался использовать
Schema::table('table', function (Blueprint $table) {
$table->dropUnique(['other_table_id']);
});
Но и это не сработало.
Я даже пытался отключить ограничение внешнего ключа при переносе:
Schema::disableForeignKeyConstraints(); // Disable constraint
Schema::table('table', function (Blueprint $table) {
$table->dropUnique(['other_table_id']);
});
Schema::enableForeignKeyConstraints(); // Reenable constraint
Кажется, ничего не работает. Что я делаю не так?