使用add_column(Rails)时设置默认值

时间:2016-01-08 17:07:34

标签: ruby-on-rails ruby-on-rails-4 migration

通常在迁移中使用add_column时,我们必须使用以下方法设置默认值:default => 0 OR:默认=> ''(如果我们添加一个字符串)

是否可以更改默认的add_column行为,以便每次添加一个列时,如果我们添加一个整数,则float等0设置为默认值,如果我们添加一个字符串''设置为默认值?

1 个答案:

答案 0 :(得分:0)

  

通常在迁移中使用add_column时,我们必须使用以下方法设置默认值:default => 0 OR:默认=> ''(如果我们添加一个字符串)

只要您未设置null: false,就无需添加默认值。

只有在设置null: false或者您希望设置默认值时才需要默认值。

此外,配置还取决于数据库。某些数据库引擎,如果设置null: false并且未明确提供默认值,则会自动使用特定数据类型的默认值,通常为

  • 0 for integers
  • 字符串的空字符串
  • 0.0 for floats
  • false for boolean

同样,它取决于数据库。在Rails级别,无法设置全局默认值,也无法更改add_column的行为(除非您覆盖它......但这将是一个错误的决定)。