【问题标题】:Rails migrations for multiple databases and postgresql relations awarenessRails 迁移多个数据库和 postgresql 关系意识
【发布时间】:2022-08-18 11:10:15
【问题描述】:

假设 rails 7.0.3 应用程序的所有数据库都在同一台服务器上(无论它们是否是副本)

  • 主数据库 (app_development) 有一个表 shop
  • 辅助数据库 (appusers_development) 有一个表 role
  • 还有第三个数据库 (applocal_development) 需要 连接为好。

如果在辅助数据库中创建迁移,其中

t.references :shop, index: true, null: false, foreign_key: true
t.references :role, index: true, null: false, foreign_key: true

此迁移不会通过,因为 postgresql 不知道与其他数据库的连接:ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation \"shops\" does not exist

主数据库deploy_root 和副本deploy_readonly 存在不同的用户。

这似乎没有在 rails 功能中列出,因此如何使用 postgresql 来完成

    标签: postgresql ruby-on-rails-7


    【解决方案1】:

    数据库之间没有外键约束(或任何约束)(不在 postgresql 中,也不在任何引擎 AFAIK 中)。关系数据库的整个想法是关系包含在(单个)数据库中。除此以外的任何事情(可以说是只读副本之类的东西除外)都需要在此之外处理。

    【讨论】:

      猜你喜欢
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      • 2017-11-13
      • 2014-08-12
      • 1970-01-01
      • 2015-12-29
      • 2012-01-15
      • 1970-01-01
      相关资源
      最近更新 更多