2015-08-19 41 views
1

从Rails连接到远程数据库的最佳方式是提取一些数据吗?我需要在远程服务器上执行查询并检索列值。这些列将被存储在本地模型中。Rails无法连接到远程数据库

谢谢!

+0

http://stackoverflow.com/questions/17311199/connecting-to-multiple-databases-in-ruby-on-rails –

+0

但是这个例子使用了一个模型。我不想使用模型,因为远程数据库非常大,并且我只需要来自2个连接表的几列。 –

+0

我不明白表中的列数或整个数据库的大小如何影响创建模型的决定?创建模型不会强制您加载整个数据库,也不会选择表中的所有列 –

回答

5

对于多个数据库连接,需要将以下代码添加到database.yml文件中。

的config/database.yml的

other_db: 
    adapter: mysql2 
    database: db1_dev 
    username: root 
    password: xyz 
    host: localhost 

然后创建一个新的模式。

class ImportLine < ActiveRecord::Base 
    establish_connection "other_db" 
    self.table_name = "the_table_in_th_other_db" 
end 

现在您可以选择任意的列是这样的:

ImportLine.select(:col1, :col2).find_each do |line| 
    puts "#{line.col1} -#{line.col1}" 
end 
相关问题