/ / Leer datos de otra base de datos de postgres - ruby-on-rails-3, postgresql

Lea los datos de otra base de datos de postgres - ruby-on-rails-3, postgresql

Tengo una aplicación Rails A con una base de datos de postgres. También tengo otra aplicación Rails B con una base de datos de postgres. Ahora quiero reutilizar algunos de los datos de la aplicación B en la aplicación A. ¿Cuál es la mejor manera de importar esos datos? Asumo que se puede usar una tarea de rake para esto, pero ¿cómo harías esto?

¿Necesita agregar los detalles de conexión de la base de datos de la aplicación B en el archivo database.yml de la aplicación A? ¿Y cómo consigo realmente los datos?

Respuestas

1 para la respuesta № 1

Puedes hacer una conexión manual a través de activerecord.

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

o hacer algo como esto

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

1 para la respuesta № 2

Dependiendo de lo que realmente quieras decir con importación, puedes usar dblink para consultar el otro DB directamente:

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

Cuando se publique PostgreSQL 9.3, asegúrese de mirar también el nuevo contenedor de datos foráneos:

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