对象表中的布尔活动列是否应该具有默认值?

萨洛

我刚刚activerelationships表中创建了一个布尔列,我想知道具有默认true的列是否是一个好的做法,或者如果最初将其保留为nil值是否最好

这是schema.rb文件。

  ... 

  create_table "relationships", force: :cascade do |t|
    t.integer  "follower_id"
    t.integer  "followed_id"
    t.datetime "created_at",                 null: false
    t.datetime "updated_at",                 null: false
    t.boolean  "active",      default: true
  end

  ...
朱南查克玛

在添加迁移的布尔列中设置默认值 ( true/ false)始终是一个好习惯你应该避免NULL在布尔列中。

没有设置默认值这个迁移

add_column :relationships, :active, :boolean

会产生三态布尔问题。您的active布尔列应该是 only trueorfalse但它可以是true, false, orNULL和这个查询

SELECT * FROM relationships WHERE relationships.active = FALSE

不会给你你期望的结果,因为NULL不等于FALSE

你可以在这里阅读更多关于它的信息(ref1ref2

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL:将新列插入到具有其他表默认值的表中

来自分类Dev

具有默认值的Javascript对象

来自分类Dev

具有默认值的Javascript对象

来自分类Dev

创建具有默认值的表

来自分类Dev

添加具有默认值的列

来自分类Dev

如何检查是否设置了所有具有默认值的对象字段?

来自分类Dev

更改具有默认值的现有表

来自分类Dev

将具有默认值的列添加到大型表

来自分类Dev

如何从Liquibase中的现有列添加具有默认值的新列

来自分类Dev

具有默认值的聚合物对象属性

来自分类Dev

嵌套字典到具有默认值的对象

来自分类Dev

具有其自身默认值的对象解构分配

来自分类Dev

动作参数是否具有默认值?

来自分类Dev

如何判断地图是否具有默认值?

来自分类Dev

Java是否具有像javascript这样的默认值?

来自分类Dev

使用Dapper插入具有默认值的表

来自分类Dev

合并后,Hibernate / JPA获取数据库中具有默认值的列的值

来自分类Dev

使用SQL OUTPUT将INSERT插入具有Identity(或默认值)的表中

来自分类Dev

如何在mysql表中插入具有默认值的行

来自分类Dev

Qt对象中是否有用作默认值属性的属性?

来自分类Dev

python pandas dataframe:创建具有默认值的新列,当默认值是可迭代的

来自分类Dev

SQLite添加具有默认值的列

来自分类Dev

添加具有默认值的多个列(Teradata)

来自分类Dev

将NULL插入具有默认值的NOT NULL列

来自分类Dev

如何在SQL查询中添加具有默认值的自定义列?

来自分类Dev

如何在xamgrid中显示具有默认值的列

来自分类Dev

groovy中具有默认值的命名参数

来自分类Dev

在Rapidminer中添加具有默认值的新属性

来自分类Dev

具有类继承的kwargs中的默认值

Related 相关文章

热门标签

归档