【发布时间】:2014-02-04 20:12:00
【问题描述】:
我的数据库连接相互覆盖时遇到问题。
我创建了两个单独的连接,但是当我调用 $db1.execute_sql 时,实际上调用的是 $db2.execute_sql。
这是我所拥有的:
servers.yml:
db1:
adapter: jdbc
driver: oracle.jdbc.driver.OracleDriver
url: db_1_url
username: my_username
password: m_password
db2:
adapter: jdbc
driver: oracle.jdbc.driver.OracleDriver
url: db_2_url
username: my_username
password: m_password
ServerContext 类:
class ServerContext
def initialize (env)
connect(env)
end
def connect(env)
begin
config = YAML.load_file("features/config/servers.yml")
rescue
puts "cannot load config/servers.yml"
end
@connection = ActiveRecord::Base
@connection.establish_connection(config[env])
end
def execute_sql(sql_string)
@connection.connection.execute(sql_string)
end
数据库设置:
def connect_databases
$db1 = ServerContext.new('db1')
$db2 = ServerContext.new('db2')
end
【问题讨论】:
标签: ruby oop activerecord