【问题标题】:Laravel migration : Remove onDelete('cascade') from existing foreign keyLaravel 迁移:从现有外键中删除 onDelete('cascade')
【发布时间】:2015-03-25 21:09:46
【问题描述】:

我创建了这样的迁移:

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

我想在新的迁移中删除 onDelete('cascade') 而不会破坏任何东西。我该怎么做?

【问题讨论】:

    标签: php mysql laravel foreign-keys eloquent


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      要更改外键,您必须删除外键并重新创建它。不幸的是,您不能在 MySQL 上修改外键

      【讨论】:

        猜你喜欢
        • 2014-09-13
        • 2019-01-22
        • 2019-02-18
        • 2018-11-10
        • 2018-11-25
        • 2015-02-12
        • 1970-01-01
        • 2015-03-25
        • 2020-06-05
        相关资源
        最近更新 更多