我有一个 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、...)将仅由这一模型使用。
谢谢