我已经启动了一个新的laravel 5.5项目,并且在尝试向我的users
表添加外键时收到以下错误:一般错误:1215无法添加外键约束( SQL:在删除级联改变表users
附加约束users_organization_id_foreign
外键(organization_id
)引用organizations
(id
))使用Laravel迁移添加外键约束
下面是organization
表迁移代码:
Schema::create('organizations', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('subdomain')->nullable();
$table->timestamps();
$table->softDeletes();
});
下面是users
表迁移代码:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->integer('organization_id')->unsigned();
$table->foreign('organization_id')->references('id')->on('organizations');
$table->string('first_name');
$table->string('last_name');
$table->string('email')->unique();
$table->timestamps();
$table->softDeletes();
});
我在网上研究了这个错误,并确保的是数据类型相同的普通的事。从我所看到的,他们是一样的。什么是更疯狂的是,如果我在数据库运行此查询直接它的工作原理:
alter table `users` add constraint `users_organization_id_foreign` foreign key (`organization_id`) references `organizations` (`id`)
任何帮助,不胜感激!
您是否将dbal添加到您的composer.json?如果不添加,作曲家需要doctrine/dbal – pseudoanime