我有一个客户请求将他们的数据存储在一个单独的数据库中。在Rails6中使用多个数据库似乎很容易,从Rails代码中的逻辑角度来看,有什么好方法可以做到这一点?
我主要有两个表,如果是客户端的数据,我希望能够从一个单独的数据库中存储/查询。
您只需将第二个数据库的详细信息放在database.yml 中即可
development_sec:
<<: *default
database: dn_name
然后,您可以创建第二个主模型来保持与数据库的连接:
class ClientRecord < ActiveRecord::Base
establish_connection :development_sec
self.abstract_class = true
end
之后,所有带有第二个DB的模型都可以从上面的主模型中继承:
class ModelName < ClientRecord
end
你可以在你的控制器中使用它,就像你平时一样。
@model = ModelName.all