我在一个项目中工作,其中一个表有一个名为tax_id,的外键,问题是在某些情况下创建了另一个迁移,以将tax_id更改为可空。
Schema::table('products', function (Blueprint $table) {
$table->unsignedInteger('tax_id')->nullable()->change();
});我意识到这一点后,我写了其他迁移,并试图运行它们,它抛出Column 'tax_id' cannot be NOT NULL,似乎在“项目”中,迁移是运行的,所以我不能只是删除文件,我怎样才能运行我的迁移没有错误?我已尝试删除外键,但都不起作用。
发布于 2019-03-18 03:47:28
我假设您正在使用MySQL InnoDB,因为您没有指定数据库类型/引擎。
您可以尝试不同的方法:
1)如果赶时间,关闭外键,进行更新,启用外键。当然,你应该纠正这个问题。
2)将集合tax_id添加到tax_id为null的'‘中,然后进行迁移
3)记录您自己关于数据库引擎的信息,并实现正确的解决方案
贾科莫
https://stackoverflow.com/questions/55211108
复制相似问题