如何更改连接的数据库?

时间:2014-03-17 12:05:35

标签: ruby sequel

我正在开发一些可与MySQL数据库配合使用的Ruby脚本。所有数据库都在一台服务器上。不幸的是,我们有很多数据库(每个客户都有一个),有些脚本需要连接到每个数据库。

现在,脚本使用

连接到某个数据库
db = Sequel.connect(:adapter => 'mysql', :user => user, :host => server, :database => database, :password => passwd, :encoding => 'utf8')

有效,但需要断开连接并重新连接每个数据库。

有没有办法如何连接一次到数据库服务器,然后只是更改我正在使用的数据库?

1 个答案:

答案 0 :(得分:1)

如果你真的想避免断开连接和重新连接,你可能会做这样的事情:

db = Sequel.connect(:adapter => 'mysql', :user => user, :host => server, :database => database, :password => passwd, :encoding => 'utf8', :single_threaded=>true)
databases = %w'db1 db2 db3'
databases.each do |db_name|
  db << "USE #{db_name}"
  ...
end

我不确定我会推荐它,除非断开连接和重新连接非常慢(数据库和应用程序之间的高延迟?)。