Laravel 迁移:从现有外键中删除 onDelete('cascade')

Laravel migration : Remove onDelete('cascade') from existing foreign key

我创建了这样的迁移:

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

我想在不破坏任何内容的情况下在新迁移中删除 onDelete('cascade')。我该怎么做?

您可以尝试删除旧的外键并添加然后添加一个没有 onDelete 的新外键:

$table->dropForeign(['a']);
$table->foreign('a')->references('b')->on('c');

要更改外键,您必须删除外键并重新创建它。很遗憾,您无法修改 MySQL

上的外键