Laravel如何在迁移中将onDelete('cascade')修改为无操作?

问题描述 投票:1回答:1

我有一个用户表,有很多debitur。我已经使用onDelete('cascade')在debitur中设置了user_id。

Schema::table('debitur', function ($table) {
    $table->index('user_id');
    $table
    ->foreign('user_id')
    ->references('id')
    ->on('users')
    ->onDelete('cascade')
    ->onUpdate('cascade');

现在我想将onDelete('cascade')修改为no action,但文档说no action我不应该设置onDelete()

那我该怎么修改呢?我应该放弃外国然后重新设置它,或者我可以重新运行schema::table省略onDelete()

laravel migration
1个回答
3
投票

创建新迁移:

Schema::table('debitur', function ($table) {
    $table->dropForeign('user_id');
    $table
    ->foreign('user_id')
    ->references('id')
    ->on('users')
    ->onUpdate('cascade');
}

资料来源:Laravel Foreign Key Constraints

© www.soinside.com 2019 - 2024. All rights reserved.