【发布时间】:2020-12-07 22:31:37
【问题描述】:
我有一个客户要求将他们的数据存储在一个单独的数据库中。在 Rails 6 中使用多个数据库似乎很容易,从我的 rails 代码中的逻辑的角度来看,有什么好的方法来解决这个问题?
我主要有两个表,如果是客户的数据,我希望能够从单独的数据库存储/查询。
【问题讨论】:
标签: ruby-on-rails database ruby-on-rails-6
我有一个客户要求将他们的数据存储在一个单独的数据库中。在 Rails 6 中使用多个数据库似乎很容易,从我的 rails 代码中的逻辑的角度来看,有什么好的方法来解决这个问题?
我主要有两个表,如果是客户的数据,我希望能够从单独的数据库存储/查询。
【问题讨论】:
标签: ruby-on-rails database ruby-on-rails-6
您可以将第二个数据库的详细信息放在 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
【讨论】: