私はMySQLデータベースで動作するいくつかのRubyスクリプトを開発しています。すべてのデータベースは1つのサーバー上にあります。残念ながら、私たちは多くのデータベース(すべての衣装製作者に1つ)を持っており、いくつかのスクリプトはそれらのデータベースのそれぞれに接続する必要があります。
現在、スクリプトはを使用していくつかのデータベースに接続します
db = Sequel.connect(:adapter => 'mysql', :user => user, :host => server, :database => database, :password => passwd, :encoding => 'utf8')
これは機能しますが、これらのデータベースごとに切断して再接続する必要があります。
データベースサーバーに一度接続してから、使用しているデータベースを変更する方法はありますか?
切断と再接続を本当に避けたい場合は、おそらく次のようなことを行うことができます。
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
切断と再接続が非常に遅い(データベースとアプリケーション間の待ち時間が長い?)場合を除いて、これをお勧めするかどうかはわかりません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加