Я создал такую ​​миграцию:

// ...
$table->foreign('a')->references('b')->on('c')->onDelete('cascade');
// ...

Я хочу удалить onDelete('cascade') в новой миграции, ничего не нарушая. Как я могу это сделать ?

7
rap-2-h 27 Янв 2015 в 12:43

2 ответа

Лучший ответ

Вы можете попробовать удалить старый внешний ключ и добавить, а затем добавить новый без onDelete:

$table->dropForeign('tablename_a_foreign');
$table->foreign('a')->references('b')->on('c');
11
lukasgeiter 27 Янв 2015 в 09:55

Чтобы изменить внешний ключ, вы должны отбросить внешний ключ и создать его снова. К сожалению, вы не можете изменить внешний ключ в MySQL.

3
Wader 27 Янв 2015 в 09:55