【问题标题】:Storing one user/account's data in a separate database?将一个用户/帐户的数据存储在单独的数据库中?
【发布时间】:2020-12-07 22:31:37
【问题描述】:

我有一个客户要求将他们的数据存储在一个单独的数据库中。在 Rails 6 中使用多个数据库似乎很容易,从我的 rails 代码中的逻辑的角度来看,有什么好的方法来解决这个问题?

我主要有两个表,如果是客户的数据,我希望能够从单独的数据库存储/查询。

【问题讨论】:

    标签: ruby-on-rails database ruby-on-rails-6


    【解决方案1】:

    您可以将第二个数据库的详细信息放在 database.yml 中

    development_sec:
      <<: *default
      database: dn_name
    

    然后,您可以创建第二个主模型来保持与数据库的连接:

    class ClientRecord < ActiveRecord::Base
        establish_connection :development_sec
        self.abstract_class = true
    end
    

    之后,您所有带有第二个数据库的模型都可以从上述主模型继承:

    class ModelName < ClientRecord
    end
    

    您可以像平常一样在控制器中使用它。

    @model = ModelName.all
    

    【讨论】:

      猜你喜欢
      • 2016-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 2011-09-05
      相关资源
      最近更新 更多