ユーザーが提供するさまざまなデータベース接続を保存し、それぞれに対して任意のSQLを実行するRailsアプリを構築しています。各データベース接続文字列を「接続」モデルのインスタンスとして表しており、理想的には activerecord ORM を使用して、各接続によって表されるデータベースを照会するメソッドを記述できるようにしたいと考えています。ただし、次のコードで Establish_connection メソッドを使用すると、作成したコードは接続テーブル全体のデータベース接続を上書きします。Connections テーブル全体の接続を上書きせずに、コードを変更して任意のデータベースにクエリを実行する方法を教えてください。
class Connection < ActiveRecord::Base
validates_presence_of :host, :port, :db_name, :db_user, :db_password, :db_type
def connect
self.connection = ActiveRecord::Base.establish_connection(
adapter: self.db_type,
host: self.host,
database: self.db_name,
username: self.db_user,
password: self.db_password
)
end
end