【发布时间】:2016-04-12 17:34:12
【问题描述】:
我正在尝试添加一列,该列默认为生成的 UUID,没有连字符作为 varchar(32)。目前这是我的迁移:
add_column :users, :uuid, :string, limit: 32, default: "REPLACE(uuid_generate_v4(), '-', '')"
但它似乎出错了,因为它只是将其设置为字符串文本:
PG::StringDataRightTruncation: ERROR: value too long for type character varying(32)
我似乎找不到关于为 sql 语句设置默认值的适当文档,但在 Rails 5 中可能更简单 (https://github.com/rails/rails/pull/20005)
【问题讨论】:
标签: ruby-on-rails postgresql ruby-on-rails-4 postgres-9.4