我们的Rails设置包括两个数据库,我写了一个解决方案,如果Rails 已经在运行并且一个db关闭,则在两者之间动态切换。现在的问题是,如果默认环境数据库关闭,Rails无法启动,我需要这样做。
这是我的database.yml
development:
adapter: oracle_enhanced
database: xxxx:1521/SID
username: user
password: pass
failover: development_secondary
pool: 30
timeout: 45000
development_secondary:
adapter: oracle_enhanced
database: xxxx:1521/SID
username: user
password: pass
pool: 30
timeout: 45000
答案 0 :(得分:0)
这不是应用程序问题,我不建议在Rails中执行此操作。使用具有非缓存DNS记录的外部解决方案。保持应用程序层不知道数据库节点的状态。亚马逊,Rackspace和大多数其他云提供商都提供DNS故障转移。
您还可以考虑使用像Octopus
这样的宝石