【发布时间】:2016-01-08 17:07:34
【问题描述】:
通常在迁移中使用 add_column 时,我们必须使用 :default => 0 或 :default => '' 设置默认值(如果我们添加字符串)
是否可以更改默认的 add_column 行为,以便每次添加列时,如果添加整数,浮点等 0 设置为默认值,如果添加字符串 '' 设置为默认值?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 migration
通常在迁移中使用 add_column 时,我们必须使用 :default => 0 或 :default => '' 设置默认值(如果我们添加字符串)
是否可以更改默认的 add_column 行为,以便每次添加列时,如果添加整数,浮点等 0 设置为默认值,如果添加字符串 '' 设置为默认值?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 migration
通常在迁移中使用 add_column 时,我们必须使用 :default => 0 或 :default => '' 设置默认值(如果我们添加字符串)
只要不设置null: false,就不需要添加默认值。
仅当您设置null: false 或您想要设置默认值时才需要默认值。
此外,配置还取决于数据库。一些数据库引擎,如果你设置null: false并且你没有明确提供默认值,将自动使用特定数据类型的默认值,通常是
0 表示整数0.0 用于浮动false 为布尔值同样,它取决于数据库。在 Rails 级别,无法设置全局默认值,也无法更改 add_column 的行为(除非您覆盖它......但那将是一个糟糕的决定)。
【讨论】: