【问题标题】:How can I use value of the id column as default value of another non-nullable column when using postgresql-rails?使用 postgresql-rails 时,如何将 id 列的值用作另一个不可为空的列的默认值?
【发布时间】:2017-09-08 05:43:24
【问题描述】:

这是一个出现这种要求的例子:

假设我们的数据库中有一个表“sample”,它有一个列“col1”和一个自动递增的“id”列。 我们希望将“col1”的默认值作为“id”列的值。我该怎么做?

我正在使用 rails 编写迁移脚本,它将在我的 postgres 数据库中创建表。

【问题讨论】:

  • 据我所知,您无法在数据库级别获得这种级别的控制,但在模型级别使用回调或验证器很容易。

标签: ruby-on-rails database postgresql rails-postgresql


【解决方案1】:
def self.up
    Yourmodel.update_all("updated_at=created_at")
end

迁移脚本中的类似内容可以帮助您。

【讨论】:

    猜你喜欢
    • 2019-09-09
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    相关资源
    最近更新 更多