我正在开发一个旧的Rails项目(rails 5),在旧的迁移中,他们使用uuid_ossp
作为默认主键。
由于Gemfile没有指定postgresql
版本,我现在使用较新版本(9.4
)来创建他们用于创建项目的版本。在postgresql中,9.4 uuid_ossp
被替换为pgcrypto
。因此,当您创建新模型时,Rails将引发错误no function gen_random_uuid()
。
我要问的是:
uuid_ossp
,为较新的迁移启用pgcrypto
,pgcrypto
并将postgresql
锁定到当前版本?因为此时我所要做的就是在pgcrypto
中启用config/application.rb
,一切正常,无需触摸,修改或锁定任何内容。
答案 0 :(得分:0)
原来最好保持原样。我没有尝试从uuid_ossp
迁移到pgcrypto
,因此我不确定是否可以这样做,但有时最好的解决方案是什么都不做