首页 > 解决方案 > 如何通过迁移在 laravel 5.7 中创建非空列?

问题描述

如何通过迁移在 laravel 5.7 中创建非空列?

$table->string('title','50')->nullable();

不起作用。
我能做些什么?

标签: phplaravel

解决方案


当您迁移以将列添加到已经有记录的表中时,您需要将其设置为可为空,或者至少给它一个默认值。否则,您当前所有记录的价值是多少?

最坏的情况,如果你没有默认值,让它可以为空。然后遍历并设置每个值,然后删除可为空的。

您的第二次迁移(删除可空性)将是这样的:

$table->string('title','50')->nullable(false)->change();

推荐阅读