Shp*_*ord 3 database postgresql ruby-on-rails multiple-databases
我们有一个主数据库,我们所有的应用程序都在这里.
但是有一个第二个数据库(从外部源更新),我希望能够连接到这个数据库以便从中提取数据.我不需要写任何东西......只需阅读.
它也只有一张我要拉的桌子.
我真的只需要做一些事情:
OtherDatabase.articles.where(id > 1000)
Run Code Online (Sandbox Code Playgroud)
就是这样.
那么我怎样才能在Rails中运行(运行3.2.13)?
小智 16
对于简单的场景,Rails可以在没有任何额外宝石的情况下支持它; 只需在database.yml中定义数据库:
other_db:
adapter: mysql2
encoding: utf8
database: other_db
username: user
password: passwd
host: 1.2.3.4
port: 3306
Run Code Online (Sandbox Code Playgroud)
然后在模型中要使用其他数据库添加:
class Article < ActiveRecord::Base
establish_connection(:other_db)
self.table_name = 'other_db.articles'
end
Run Code Online (Sandbox Code Playgroud)
然后你可以执行你的查询:
Article.where("id > 1000")
Run Code Online (Sandbox Code Playgroud)
=)