0

我们正在使用rails应用程序并在活动表中有大量数据。所以我们开始将数据归档到不同的数据库中,并且在实时表中具有最少的所需数据。但只有我面临的问题是如何处理模式更改。有没有办法在rake数据库上的live db和archival db上运行迁移:migrate?在rake数据库上的多个数据库上运行相同的迁移:migrate

有关如何处理这种情况的任何建议,在这种情况下必须保持db同步的模式。

感谢, GG

+0

接缝处同样要:http://stackoverflow.com/questions/1404620/using-rails-migration-on-different-database-than-standard-production-or- devel –

+0

这里讲的是在DB_2上运行迁移,而database.yml是DB_1和DB_2。在我的情况下,我想在DB_1和DB2上运行迁移。 –

+0

找到http://excid3.com/blog/rails-activerecord-multiple-databases-and-migrations/看起来像个好主意 –

回答

1
desc "Migrate the database through scripts in db/migrate." 
namespace :db do 
    task :migrate do 
    Rake::Task["db:migrate_db1"].invoke 
    Rake::Task["db:migrate_db2"].invoke 
    end 

    task :migrate_db1 do 
    ActiveRecord::Base.establish_connection DB1_CONF 
    ActiveRecord::Migrator.migrate("db/migrate/db1/") 
    end 

    task :migrate_db2 do 
    ActiveRecord::Base.establish_connection DB2_CONF 
    ActiveRecord::Migrator.migrate("db/migrate/db2/") 
    end 
end 
+0

那是什么http://excid3.com/blog/rails-activerecord-multiple-databases - 和 - 迁移/说。 –