Django несколько баз данных - не удается подключиться к резервному серверу MySQL к SQLite - PullRequest
2 голосов
/ 19 марта 2011

У меня есть приложение django с несколькими базами данных. База данных по умолчанию находится на локальном компьютере. Существует также удаленная база данных mysql, которая используется для некоторых операций записи, но она не всегда работает. Когда сервер не работает, mysqldb вызывает ошибку OperationalError.

Я хотел бы иметь локальную базу данных sqlite с именем 'fallback', которая будет принимать данные, если сервер mysql не работает. Я понимаю, что это связано с предложением try / исключением в django.db.mysql.base, но я не совсем уверен, куда идти дальше Кто-нибудь пробовал что-то подобное? У вас есть предложения по лучшему способу справиться с этим?

1 Ответ

1 голос
/ 19 марта 2011

Возможно, вы могли бы использовать Маршрутизаторы базы данных в сочетании с настраиваемым базовым классом Model, который переопределяет метод save. Оберните его в try..catch, и, если произойдет OperationalError, предоставьте несколько советов, чтобы маршрутизатор базы данных мог определить, нужно ли использовать запасной вариант.

Я думаю, что это будет самый чистый способ, вместо того, чтобы модифицировать сам код django.

...