Как получить данные из другой базы данных в мою базу данных? - PullRequest
1 голос
/ 09 июня 2011

RoR = 2.3.11 Ruby = 1,8,7 Драгоценный камень = 1,3,7

У меня есть одна база данных (назовите ее «Первая») с 4 таблицами. И у меня есть другая база данных (назовите эту базу данных "Second") (с другим паролем). Я хочу взять электронную почту (поле) из Second и таблицу, если есть какие-либо обновления, и вставить в First базу данных.

Вопрос: как мне это сделать?

1 Ответ

5 голосов
/ 09 июня 2011

Вы можете определить разные базы данных в вашем database.yml.

first:
  adapter: mysql
  database: first_development
  username: user
  password: pwd
  host: localhost

second:
  adapter: mysql
  database: second_development
  username: user
  password: pwd
  host: localhost

, а затем подключить ваши модели к различным базам данных, используя ActiveRecord::Base.establish_connection

class A < ActiveRecord::Base

  ActiveRecord::Base.establish_connection "first"

end

class B < ActiveRecord::Base

  ActiveRecord::Base.establish_connection "second"

  def self.sync
    A.all.each do |record|
     B.create(:email => record.email)
    end
  end

end

Я добавил простой метод под названиемсинхронизация, которая может стать отправной точкой для вашей проблемы с синхронизацией,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...