在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