Estoy tratando de utilizar una conexión de base de datos secundaria para algunos de mis migraciones de la siguiente manera:conexiones de bases de datos múltiples: schema_migrations se busca en la base de datos incorrecta
# app/models/staging/migration.rb
class Staging::Migration < ActiveRecord::Migration
def self.connection
ActiveRecord::Base.establish_connection(:staging_db).connection
end
end
# db/migrate/<timestamp>_create_foo.rb
class CreateFoo < Staging::Migration
....
end
En mi database.yml la conexión es staging_db configurado.
Cuando ejecuto rake db: migrate, la tabla foo se crea correctamente en el esquema staging_db, y la tabla schema_migrations se crea en RAILS_ENV = conexión de desarrollo. Sin embargo db: migrate informes el siguiente error (que no migraciones posteriores):
no existe '' staging_db.schema_migrations Tabla
¿Hay una manera de contar estadificación :: Migración para mirar para la tabla schema_migrations en la conexión actual RAILS_ENV?
BTW, soy consciente del hecho de que staging_db no es RAILS_ENV-aware. Esto está bien para mí ya que cada servidor tiene su entorno configurado a través de una base de datos separada .yml que no está en mi repositorio.