经过一些研究,似乎Rails对多个数据库连接有明确,优雅的支持: http://www.rubynaut.net/articles/2008/05/31/how-to-access-multiple-database-in-rails.html
然而,rails似乎不支持在迁移中支持这一点:http://www.jamesinman.co.uk/2011/10/serving-one-rails-application-with-multiple-databases/
所以已经出现了一些项目来填补空白。 示例:http://kovyrin.github.com/db-charmer/
我在这里错过了什么吗?奇怪的是,连接到多个数据库既简单又优雅,但迁移它们需要黑客攻击。
啊,其实很简单:-D
在 Rails 3 中:
class CreateAPIRequestLogs < ActiveRecord::Migration
def connection
SpecialClassWithAlternativeDB.connection
end
def change
# ... your migration code ...
end
end
但是,看起来回滚无法正常工作。
此外,架构版本仍保留在主数据库中。