Rails迁移:使用'nil'作为布尔字段的默认值是否可以?

bev*_*anb 5 postgresql activerecord ruby-on-rails

默认使用布尔字段nil而不是false使用ActiveRecord迁移与Postgres一起使用有什么问题吗?

我喜欢它如何提供一小部分额外数据 - 无论该字段是否已被标记为真或假.

hou*_*se9 7

没有什么可以阻止你在布尔上使用nil - 但我个人喜欢我的布尔是真的还是假的,我发现nil会导致一些丑陋的代码

  • 确实是丑陋的代码。如果你需要第三个,`nil`/`unknown`,值那么你真的应该使用枚举或我认为的状态机。否则,您只是在与事情作斗争,您有责任确保检查“nil”值**无处不在**。 (2认同)