在使用constrained()方法时指定Laravel迁移中外键的名称

  • 本文关键字:迁移 Laravel constrained 方法 laravel
  • 更新时间 :
  • 英文 :


Laravel 8,数据库迁移。我知道我可以使用长格式:

$table->foreign('really_long_table_name_id', 'foreign_key_name')->references('id')->on('really_long_table_name')->onUpdate('cascade')->onDelete('cascade');

创建具有特定名称的外键,其中(就像我的情况一样)Laravel将通过constrained()方法自动生成的名称:

$table->foreignId('really_long_table_name_id')->constrained()->onUpdate('cascade')->onDelete('cascade');

会太长,导致MySQL抱怨。

有可能使用限制()方法并指定foreign_key_name,而不是让它是动态生成的吗?因为我正在努力在文档中看到它,或任何SO搜索。

您可以使用index方法来更新索引的名称。

$table->foreignId('really_long_table_name')
->constrained()
->cascadeOnUpdate()
->cascadeOnDelete()
->index('index_name');

最新更新