将uuid_ossp和pgcrypto保存在rails项目中

时间:2018-03-24 16:46:54

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

我正在开发一个旧的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,一切正常,无需触摸,修改或锁定任何内容。

1 个答案:

答案 0 :(得分:0)

原来最好保持原样。我没有尝试从uuid_ossp迁移到pgcrypto,因此我不确定是否可以这样做,但有时最好的解决方案是什么都不做