我有一个带有 postgres 数据库的 Rails 应用程序 A。我还有另一个带有 postgres 数据库的 Rails 应用程序 B。现在我想在应用 A 中重用应用 B 的一些数据。导入这些数据的最佳方法是什么?我假设可以为此使用 rake 任务,但是您将如何执行此操作?
需要在app A的database.yml中添加app B的数据库的连接详情吗?我如何实际获取数据?
我有一个带有 postgres 数据库的 Rails 应用程序 A。我还有另一个带有 postgres 数据库的 Rails 应用程序 B。现在我想在应用 A 中重用应用 B 的一些数据。导入这些数据的最佳方法是什么?我假设可以为此使用 rake 任务,但是您将如何执行此操作?
需要在app A的database.yml中添加app B的数据库的连接详情吗?我如何实际获取数据?
根据导入的实际含义,您可以使用dblink
直接查询其他数据库:
http://postgresql.org/docs/current/static/dblink.html
当 PostgreSQL 9.3 发布时,请务必查看新的外部数据包装器:
您可以通过 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] )