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

时间:2011-03-19 14:43:52

标签: mysql ruby-on-rails ruby

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我在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崩溃脚本),但过程应该是一样的。

答案 2 :(得分:0)

检查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