【发布时间】:2018-07-02 14:13:37
【问题描述】:
好的,我遇到了这个问题:
我在我的迁移中设置了一个带有默认值的布尔属性:
$table->boolean('is_public')->default(1);
它在我的初始数据库 MySQL 上运行良好。我迁移了数据库并手动插入,它被插入为 true。
但问题是,当我运行在内存数据库中配置了 sqlite 的测试时,没有添加默认值。所以这个断言:
$this->assertEquals($league->is_public, 1);
...在不应该的时候失败了。
有人知道我错过了什么吗?我是否必须添加更多内容才能将默认值添加到数据库中,或者这是某种sqlite 问题?
【问题讨论】:
-
dd($league->is_public)显示了什么? -
它在我的测试中显示
null; -
dd($league)显示了什么? -
显示创建的联赛。联盟是使用名称和其他必需属性创建的,没有默认值。
-
所以,它显示了
League对象,其中is_public是null?请说明您在测试中究竟是如何创建对象的。
标签: laravel sqlite phpunit migration