【发布时间】:2015-03-25 21:09:46
【问题描述】:
我创建了这样的迁移:
// ...
$table->foreign('a')->references('b')->on('c')->onDelete('cascade');
// ...
我想在新的迁移中删除 onDelete('cascade') 而不会破坏任何东西。我该怎么做?
【问题讨论】:
标签: php mysql laravel foreign-keys eloquent
我创建了这样的迁移:
// ...
$table->foreign('a')->references('b')->on('c')->onDelete('cascade');
// ...
我想在新的迁移中删除 onDelete('cascade') 而不会破坏任何东西。我该怎么做?
【问题讨论】:
标签: php mysql laravel foreign-keys eloquent
您可以尝试删除旧外键并添加然后添加一个没有onDelete的新外键:
$table->dropForeign(['a']);
$table->foreign('a')->references('b')->on('c');
【讨论】:
要更改外键,您必须删除外键并重新创建它。不幸的是,您不能在 MySQL 上修改外键
【讨论】: