从其他postgres数据库中读取数据

时间:2013-06-24 12:33:30

标签: ruby-on-rails-3 postgresql

我有一个带有postgres数据库的Rails应用程序A.我还有另一个带有postgres数据库的Rails应用程序B.现在我想在应用程序A中重用应用程序B的一些数据。导入该数据的最佳方法是什么?我假设可以使用rake任务,但你会怎么做?

您是否需要在app A的database.yml中添加app B数据库的连接详细信息?我如何实际获取数据?

2 个答案:

答案 0 :(得分:1)

根据导入的实际含义,您可以使用dblink直接查询其他数据库:

http://postgresql.org/docs/current/static/dblink.html

当PostgreSQL 9.3发布时,请务必查看新的外部数据包装器:

http://postgresql.org/docs/9.3/static/postgres-fdw.html

答案 1 :(得分:1)

您可以通过activerecord进行手动连接

require 'active_record' 
ActiveRecord::Base.establish_connection(
  :adapter => "mysql", 
  :host => "localhost", 
  :username => "root", 
  :password => "abcd", 
  :database => "funonrails")

或做类似的事情

dbconfig = YAML::load(File.open('database.yml')) 
ActiveRecord::Base.establish_connection( dbconfig[:students_development] )