laravel迁移中的无法创建关系

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

我正在尝试在成员表中的“ user_id”和用户表中的“ id”之间建立关系。得到错误:150“外键约束格式不正确”。我要在Users表之前迁移users表。

$table->integer('user_id')->unsigned()->nullable();
   $table->foreign('user_id')->references('id')->on('users');
laravel foreign-keys database-migration
1个回答
0
投票

您的语法是正确的,所以很可能是几个问题之一:

  1. 您的users表实际上未称为users
  2. 您实际上是在用户迁移之前创建了成员迁移,然后返回并编辑了成员迁移。 Laravel按文件名中的时间戳顺序运行迁移,因此您需要编辑成员迁移的文件名,或在其中使用外键定义创建新迁移。
  3. 您正在尝试在现有数据库之上运行现有迁移。运行php artisan migrate:refresh将所有内容回滚并重新运行。 请注意,这会破坏all您的数据,因此请确保它处于测试环境中。
© www.soinside.com 2019 - 2024. All rights reserved.