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

时间:2015-01-27 09:43:55

标签: php mysql laravel foreign-keys eloquent

我已经创建了这样的迁移:

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

我想删除新迁移中的onDelete('cascade')而不会破坏任何内容。我怎么能这样做?

2 个答案:

答案 0 :(得分:8)

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

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

答案 1 :(得分:3)

要更改外键,您必须删除外键并再次创建它。不幸的是你无法在MySQL上修改外键