如何使rails外部数据库调用?

所以我希望能够将一个外部数据库添加到我的config/database.yml然后从中建模一个表。

这可能吗? 我无法弄清楚如何。

“连接到不同型号的多个数据库

连接通常通过ActiveRecord::Base.establish_connection创建,并由ActiveRecord::Base.connection检索。 从ActiveRecord::Baseinheritance的所有类都将使用此连接。 但您也可以设置特定于类的连接。 例如,如果CourseActiveRecord::Base ,但驻留在不同的数据库中,则可以说Course.establish_connectionCourse及其所有子类将使用此连接。

此function是通过在ActiveRecord::Base中保留连接池来实现的,该连接池是由类索引的哈希。 如果请求连接,则retrieve_connection方法将上升到类层次结构,直到在连接池中找到连接。 “

首先,在database.yml中定义连接信息:

 my_external_db: adapter: mysql username: ... .... 

然后,创建模型并将其连接到外部数据库

 class MyExternalModel < ActiveRecord::Base establish_connection(:my_external_db) set_table_name 'my_external_table' end 

set_table_name已删除,因此您应该使用: self.table_name