【问题标题】:Rails multiple databasesRails 多个数据库
【发布时间】:2013-01-26 23:27:52
【问题描述】:

我有一个 Rails 应用程序(出于某种原因)需要连接到多个数据库。我知道我可以使用 ActiveRecord::Base.establish_connection 但问题是数据库名称可能是具有相同前缀的许多名称之一。即 db_001、db_002 等。“001”、“002”数字将从控制器传递给模型,并基于当前的应用程序流程。

问题:是否可以像这样将数据库名称作为参数传递给建立连接?

class Some < ActiveRecord::Base
 establish_connection ({
    :adapter  => "mysql2",
    :username => "name",
    :password => "pass"
    :database => "db_#{THE_PASSED_VALUE}"
 })
end

这些特定的数据库(db_001、db_002、...)将仅由该模型使用。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby rails-activerecord


    【解决方案1】:

    在 rails 2.3.x 中有

    来自 ActiveRecord::Base 的数据库名称。

    这看起来类似于How can I dynamically change the Active Record database for all models in Ruby on Rails?

    【讨论】:

      猜你喜欢
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2021-10-25
      • 2023-03-06
      • 1970-01-01
      相关资源
      最近更新 更多