Estoy trabajando en una aplicación de múltiples bases de datos de Rails 3. Cada base de datos tiene un esquema diferente (y en producción se encuentran en diferentes ubicaciones). He creado la aplicación para hablar con diferentes bases de datos, así:Tareas de rastreos para múltiples bases de datos con esquemas diferentes
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
modelos/other_base.rb
class OtherBase < ActiveRecord::Base
self.abstract_class = true
establish_connection "other_#{Rails.env}"
end
modelos/some_model.rb
class SomeModel < OtherBase
# Regular stuff here
end
Ahora, esto funciona bien para la aplicación web, pero no tan bien para ejecutar tareas de rake, incluidas las pruebas (los dispositivos no se cargan c orrectly). ¿Hay una gema disponible para esto? Cualquier ayuda apreciada.
Además, sería bueno crear un archivo schema.rb que podría manejar los diferentes esquemas para diferentes DBs, es decir, me permitiría hacer cosas como rake db: create o db: setup y hacer que cree múltiples bases de datos con el esquema específico de la base de datos.
Proporcione más detalles sobre el error. Algunos resultados de registro o cuál es el error exacto. También pegue el código de tarea de rake que no funciona. – Zimbabao