【发布时间】:2014-03-27 06:28:32
【问题描述】:
我有一个 RoR 应用,可以很好地与主 RoR 数据库配合使用。我还想以一种不会为每个新的 HTTP 请求重新创建数据库连接的方式连接到任意数据库。根据我的研究,连接池似乎是可行的方法。
但是,我无法弄清楚如何创建池本身:
config = ActiveRecord::ConnectionAdapters::ConnectionSpecification.new( {
"adapter" => "postgresql",
"host" => "localhost",
"port" => 9000,
"database" => "foo_test",
"username" => "foo",
"password" => "bar",
"pool" => "5",
"timeout" => "3000"
})
my_connection_pool = ActiveRecord::ConnectionAdapters::ConnectionPool.new(config)
NameError 出现此错误:未初始化常量 ActiveRecord::ConnectionAdapters::ConnectionSpecification。有趣的是 ActiveRecord::ConnectionAdapters::ConnectionPool 工作正常(但没有正确的配置对象)。
我在这里做什么?
而且,这些是用来解决我的问题的正确方法吗?
【问题讨论】:
-
首先:我真的不知道......但我想知道你从哪里得到上面的代码以及你是否有rails版本不匹配......更高版本的rails经常做类似的事情移动或重命名类结构。
-
所以...在上面的标签中,您指定了 Rails 版本 3,而您刚刚链接到的 doco 适用于 Rails 版本 4。
-
好点。我会看看这是否重要。我现在在 Rails 3 上。
-
是的 - 我刚刚检查过...... Rails 3 中不存在该类
标签: ruby-on-rails ruby database ruby-on-rails-3 activerecord