И так начнем с добавления еще одного конекшина в конфиг базы данных
database.yml
development:
adapter: postgresql
database: application_development
marketing_db_development:
adapter: postgresql
database: marketing_db_development
username: postgres
Теперь делаем модель для виртуального адаптера от которой потом будут наследоваться все таблицы которые будут браться из другой базы
class MarketingDb < ActiveRecord::Base
self.abstract_class = true
establish_connection("marketing_db_#{RAILS_ENV}".to_sym)
end
А дальше для проверки запускаем консоль
[wr@bublik trunk]$ script/console
Loading development environment (Rails 2.1.0)
>> ManagementDb.connection.execute("select * from users")
=> #<Mysql::Result>
как видно запросы обрабатываются и отсылаются к другой базе, далее попытаюсь показать наглядней
данные из основной базы
>> User.first
=> #<User id: 267300, account_id: 208552, sasp_id: 232123370, address_id: 35917, title
Попытаемся сделать запрос к дополнительной базе
ManagementDb.connection.select_all("select * from users")
=> [{"yahoo_handle"=>"wert", "updated_at"=>"2008-08-27 05:47:05", "raiting"=
Запрос выполнился но рельзультатов не видно для этого создадим новый клас который будет конектиться к дополнительной базе и искать пользователей в ней
>> class MailUser < ManagementDb
>> set_table_name "users"
>> end
=> nil
>> MailUser.first
=> #<MailUser id: 1, login: "admin", email: "rebisall@gmail.com", first_name: "Ruslan",
и вот результат положительный мы нашли пользователя в другой бузе данных
Ждите в следующем посте описание миграций при друх коннектах
…
=> # < Mysql::Result >
нестыковочка однака…
…
=> #
нестыковочка однака…