Нашата настройка Rails включва две бази данни, написах решение за динамично превключване между двете, ако релсите вече се изпълнява и един db слиза. Сега проблемът е, че Rails не може да стартира, ако базата данни по подразбиране е намаляла и имам изискване да го направя.
- Добра идея е да се вмъкнете в инициализацията на релсите, за да сте наясно с настройката на двойната база данни?
- Къде точно мога да направя това? Не мога да използвам нито един от методите ActiveRecord, за да тествам базата данни преди application.rb, където го "изискваме", но в същото време, ако базата данни е надолу, изискването се проваля веднага при стартиране.
Ето моята база данни
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 за отговор № 1Това не е проблем с приложението, аз не го препоръчвамправейки това в релсите. Използвайте външно решение с нескладирани DNS записи. Поддържайте слоя на приложението си невероятен за състоянието на възлите на базата данни. Amazon, Rackspace и повечето други доставчици на облаци предлагат възстановяване на DNS.
Можете също да помислите за използването на скъпоценен камък октопод