Php 拉威尔:无法迁移。一般错误:1005
我遵循Laracasts TDD,我遇到了一个无论我做什么都无法解决的错误。当我尝试迁移时,它会显示以下错误: Illumb\Database\QueryException:SQLSTATE[HY000]:一般错误: 1005无法创建表Php 拉威尔:无法迁移。一般错误:1005,php,database,laravel,Php,Database,Laravel,我遵循Laracasts TDD,我遇到了一个无论我做什么都无法解决的错误。当我尝试迁移时,它会显示以下错误: Illumb\Database\QueryException:SQLSTATE[HY000]:一般错误: 1005无法创建表birdboard#sql-14b8_86(错误号:150 “外键约束格式不正确”)(SQL:alter table projects添加约束projects\u owner\u id\u foreign外键 (owner\u id)引用users(id) 我知道
birdboard
#sql-14b8_86
(错误号:150
“外键约束格式不正确”)(SQL:alter table
projects
添加约束projects\u owner\u id\u foreign
外键
(owner\u id
)引用users
(id
)
我知道Laravel现在用unsignedBigInteger代替unsignedInteger,用bigIncrements代替Increments。我都做过了。
在我的AppServiceProvider.php中,我还添加了:
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
应用程序服务提供商:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
//
}
public function boot()
{
Schema::defaultStringLength(191);
}
}
我认为您需要编辑该问题,并发布您的所有者模型。数据类型可能有所不同
$table->unsignedBigInteger('owner_id');
验证您是否在两个表中使用了相同的数据类型,即“外部”中的owern_id和主表中的id从createSchema::dropIfExists('projects')中删除此行代码>。问题似乎出在birdboard表上,而不是这个表上?Laravel的哪个版本?用户的id
也是bigIncrement
?尝试运行migrate:fresh
@DinoNumićbirdboard
似乎是数据库的名称,而不是表名是的。这是正确答案,谢谢。似乎我在users表中使用了增量id,在projects表中使用了unsignedBigInteger,这导致了冲突。
$table->unsignedBigInteger('owner_id');