【发布时间】:2023-03-12 16:30:01
【问题描述】:
Rails 3 + postgresql
我想要一个随机字符串的 sha 作为列的默认值。
所以,在我的迁移中,我有:
t.string :uniqueid, default: md5(random()::text)
但是我不能让它实际产生任何东西,我使用了反引号、引号等。从我看到的示例来看,pg 函数似乎只在 SELECT 语句中有效。
准确吗?关于如何实现这一目标的任何想法?
谢谢
【问题讨论】:
-
您需要查看生成的 SQL,因为 md5(...) 调用作为 CREATE/ALTER TABLE 中的 DEFAULT 子句完全有效。
标签: ruby-on-rails ruby-on-rails-3 postgresql rails-activerecord rails-migrations