Я работаю над приложением Rails 3 с несколькими базами данных.Каждая база данных имеет свою схему (и в производстве находятся в разных местах).Я настроил приложение для общения с разными базами данных, например:
database.yml
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: main_development
pool: 5
username: someuser
password: somepassword
socket: /tmp/mysql.sock
other_development:
adapter: mysql2
encoding: utf8
reconnect: false
database: other_development
pool: 5
username: someuser
password: somepassword
socket: /tmp/mysql.sock
models / other_base.rb
class OtherBase < ActiveRecord::Base
self.abstract_class = true
establish_connection "other_#{Rails.env}"
end
models / some_model.rb
class SomeModel < OtherBase
# Regular stuff here
end
Теперь это отлично работает для веб-приложения, но не очень хорошо для запуска задач rake, включая тесты (приборы не загружаются правильно).Есть ли драгоценный камень для этого?Любая помощь приветствуется.
Также было бы неплохо создать файл schema.rb, который мог бы обрабатывать различные схемы для разных БД, то есть позволил бы мне делать такие вещи, как rake db: create или db:настройте его и создайте несколько баз данных со схемой, специфичной для базы данных.