在Ruby on Rails中动态连接到第二个MySQL数据库

我正在开发一个将迁移用户内容的rails应用程序。 我需要通过表单接收数据库参数并使用它们连接到给定的数据库。 实现这一目标的最佳方法是什么? 我尝试过使用Mysql.real_connect没有任何乐趣。

您可以使用新参数调用establish_connection ,然后正常使用connection

我在rake任务中有类似的需求。 在rake加载rails环境后,我最终使用了以下代码。

 require "mysql2" #Constants #--------- DB_HOST = "example.com" DB_USER = "username" DB_PASSWORD = "password" DB = "db_name" SQL = "SELECT * FROM BLAH;" client = Mysql2::Client.new(:host => DB_HOST, :username => DB_USER, :password=> DB_PASSWORD, :database => DB) rs = client.query(SQL) rs.each do |h| #Work on Row here end 

它使用的是mysql(主要是因为我厌倦了mysql崩溃脚本),但过程应该是一样的。

检查ruby / mysql

 require "mysql" my = Mysql::new("host", "user", "passwd", "db") res = my.query("select * from tbl") res.each do |row| col1 = row[0] col2 = row[1] end