【问题标题】:Setting of default when using add_column (Rails)使用 add_column (Rails) 时的默认设置
【发布时间】:2016-01-08 17:07:34
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    仅当您设置null: false 或您想要设置默认值时才需要默认值。

    此外,配置还取决于数据库。一些数据库引擎,如果你设置null: false并且你没有明确提供默认值,将自动使用特定数据类型的默认值,通常是

    • 0 表示整数
    • 字符串的空字符串
    • 0.0 用于浮动
    • false 为布尔值

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 2010-10-04
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      相关资源
      最近更新 更多