【发布时间】:2019-07-15 08:48:10
【问题描述】:
在我的迁移中,我有两个额外的时间戳
$table->timestamp('starts_at');
$table->timestamp('ends_at');
我不希望它们可以为空,问题是,当我运行 php artisan migrate 我回来了
语法错误或访问冲突:1067 'ends_at' 的默认值无效
我在底部有 $table->timestamps() 。 如何让我的自定义时间戳列/s 不能为空
一种解决方法是简单地将 nullable() 放在最后,但它不是一个修复。使用 laravel 5.7
【问题讨论】:
-
表中是否已有记录?如果是这样,您要么需要使这些时间戳为空,设置默认值,要么清空表然后迁移。
-
我在那个表中没有数据,它是在运行 php artisan make:migration my_migration_name 之后的新迁移
-
你可以用“dateTime”代替“timestamp”吗?
标签: laravel