我们正在使用activadmin插件来管理我们的应用信息中心。我们希望将某些仪表板查询移至其他数据库连接(从属),以减轻主数据库的负担。
有什么方法可以将来自活动管理仪表盘的查询重定向到其他数据库连接。

最佳答案

如果只想在数据库之间拆分模型(例如,仅位于database1中的model1和model2数据,仅位于database2中的activeadmin模型数据),则可以在模型类中定义位置。

您需要做:


将第二个数据库描述添加到/config/database.yml


secondary_db: # db identifier
  adapter: sqlite3 # change to your database
  timeout: 5000
  pool: 5
  database: db/activeadmin.sqlite3



在模型文件中定义数据库


class YourModel < ActiveRecord::Base
  establish_connection 'secondary_db' # use db identifier from database.yml file
  ...
end



并根据需要移动您的数据


establish_connection in rails documentation

07-24 19:01
查看更多