ruby-on-rails - 将 activeadmin 查询移动到不同的数据库

标签 ruby-on-rails activeadmin master-slave

我们正在使用 activadmin 插件来管理我们的应用仪表板。我们想将一些仪表板查询移动到不同的数据库连接(从)以减少主服务器的负载。 有什么方法可以将来自事件管理仪表板的查询重定向到不同的数据库连接。

最佳答案

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

你需要做的:

  • 将第二个数据库描述添加到/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

关于ruby-on-rails - 将 activeadmin 查询移动到不同的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30100072/

相关文章:

mysql - 删除不同步的 MYSQL 从属服务器

ruby-on-rails - 验证一个字段或另一个字段是否存在 (XOR)

ruby-on-rails - 测试方法是否返回 `non-null` 值

activerecord - Formtastic 表单抛出 "undefined method"错误与 has_one 关联

ruby-on-rails - 自定义或覆盖 ActiveAdmin 编辑/更新 Action Controller

ruby-on-rails - 如何在 ActiveAdmin 的嵌套自定义页面中创建 selectable_column?

python - Flask Sqlalchemy中如何分离主从(DB读/写)

git - 如何让slave系统访问Jenkins中的Git仓库

javascript - 使用JS/jQuery返回原文

ruby-on-rails - 将网页或 nokogiri 文档保存到数据库字段