我在一个表中有一个名为tax_id,
的外键的项目中工作,问题是在某些时候创建了另一个迁移,以将tax_id
更改为可空值。
Schema::table('products', function (Blueprint $table) {
$table->unsignedInteger('tax_id')->nullable()->change();
});
在编写其他迁移并尝试运行它们之后,我意识到了这一点,它抛出了Column 'tax_id' cannot be NOT NULL,
,似乎在“项目”中运行了迁移,所以我不能只是删除文件,怎么办运行我的迁移而没有错误?我试图删除外键,但没有任何效果。
答案 0 :(得分:0)
我假设您正在使用MySQL InnoDB,因为您没有指定数据库类型/引擎。
您可以尝试其他方法:
1)如果您赶时间,请禁用外键,进行更新,然后启用外键。然后,您应该纠正问题。
2)将set tax_id添加到''(其中tax_id为null),然后进行迁移
3)记录自己有关数据库引擎的信息并实施正确的解决方案
贾科莫