/ / Читання даних з іншої бази даних postgres - ruby-on-rails-3, postgresql

Читайте дані з іншої бази даних postgres - ruby-on-rail-3, postgresql

У мене є додаток Rails з базою даних postgres. У мене також є інший Rails додаток B з базою даних postgres. Тепер я хочу повторно використовувати деякі дані програми B у програмі A. Який найкращий спосіб імпортувати ці дані? Я припускаю, що для цього можна скористатися завданням рейка, але як ви це зробите?

Вам потрібно додати деталі підключення до бази даних програми B в database.yml програми A? І як я дійсно отримую дані?

Відповіді:

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] )

1 для відповіді № 2

Залежно від того, що ви насправді маєте на увазі під час імпорту, ви можете скористатися цією функцією dblink безпосередньо запитувати інші БД:

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

Після випуску PostgreSQL 9.3 переконайтеся, що ви також переглянули нову обгортку даних:

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