我正在尝试了解连接到我的数据库的最佳方式。
目前我有一个解析 URL 的方法(取决于调用的 URL,应用程序必须连接到不同的数据库,比如 customer1.example.com 将连接到 customer1 数据库)并调用
ActiveRecord::Base.establish_connection(conn_string)
其中 conn_string 包含数据库的名称。
这个方法 (set_db) 被调用
before_filter :set_db
在我的应用程序 Controller 中,基本上对于我收到的每个请求,都会解析 URL 并且应用程序会尝试建立连接。
我想知道我是否可以在某个地方有一个连接池....你对此有什么建议吗?拥有一个保持所有连接并返回正确连接的单例是否更好?
谢谢! 罗伯托
最佳答案
数据库是否在同一台服务器上?
我有一个应用程序,其中一些模型对象来自一个数据库,而其他模型对象来自不同的数据库。我重写了 table_name 函数来指定数据库。如果它们是不同的服务器,则将不起作用,但将适用于同一服务器中的不同数据库。
class xx < ActiveRecord.base
def self.table_name
"otherdatabase.table"
end
看起来数据库池可能正在用于即将发布的 rails 版本。
关于ruby-on-rails - 多数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167053/