我正在构建一个 Rails 应用程序来存储许多不同的、用户提供的数据库连接,并对每个连接执行任意 sql。我将每个数据库连接字符串表示为“连接”模型的一个实例,并希望能够编写一个方法来查询每个连接表示的数据库,最好使用 activerecord ORM。但是,当我在以下代码中使用建立连接方法时,我编写的代码会覆盖整个连接表的数据库连接。您如何建议我更改代码以查询任意数据库,而不覆盖整个 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