2014-02-06 115 views
0

我們的Rails設置包括兩個數據庫,我寫了一個解決方案,這兩個如果Rails的之間進行動態切換已經運行和1分貝下降。現在的問題是,如果默認環境數據庫關閉,Rails無法啓動,並且我有這樣的要求。Rails的後備數據庫初始化

  1. 這是一個好主意,入侵Rails初始化,使其知道雙數據庫設置?
  2. 我究竟哪裏能做到這一點?我不能使用任何的ActiveRecord的方法,我們「需要」它application.rb中之前測試數據庫,但在同一時間,如果數據庫是順着要求立即啓動失敗。

這裏是我的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

這是不是一個應用程序的問題,我不建議對Rails這樣做。使用非緩存DNS記錄的外部解決方案。讓應用程序層不知道數據庫節點的狀態。 Amazon,Rackspace和大多數其他雲提供商提供DNS故障轉移。您也可以考慮使用寶石Octopus