代码之家  ›  专栏  ›  技术社区  ›  Huy Vo

将uuid\U ossp和pgcrypto保留在rails项目中

  •  0
  • Huy Vo  · 技术社区  · 6 年前

    我正在开发一个旧的Rails项目(Rails 5)以及它们使用的旧迁移 uuid_ossp 作为默认主键。

    因为Gemfile没有指定 postgresql 版本,我现在使用的是较新的版本( 9.4 )他们用来创建项目的那个。在postgresql 9.4中 uuid\U ossp 替换为 pgcrypto 。因此,在创建新模型时,Rails将引发错误 no function gen_random_uuid()

    我想问的是:

    • 我应该让我的项目同时启用 uuid\U ossp 对于较旧的迁移和 pgcrypto公司 对于较新的,
    • 或者我应该将所有内容迁移到 pgcrypto公司 并锁定 postgresql 到当前版本?

    因为现在我要做的就是启用 pgcrypto公司 在里面 config/application.rb 任何东西都可以正常工作,不需要触摸、修改或锁定任何东西。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Huy Vo    6 年前

    事实证明,最好保持现状。我没有尝试从 uuid_ossp pgcrypto 因此,我不确定是否有可能这样做,但有时最好的解决方案是什么都不做。