Несколько баз данных Django - одна не всегда доступна

Я разрабатываю приложение Django, которое будет использовать несколько бэкэндов базы данных. Я хотел бы разместить базу данных sqlite на машине, на которой запущено приложение django, и синхронизировать ее с удаленной базой данных mysql. Сложность заключается в том, что на этой машине, на которой выполняется приложение, не всегда будет подключение к Интернету, поэтому база данных mysql не всегда доступна. Приложение будет запущено на нескольких машинах, каждый со своей собственной локальной базой данных sqlite, но все используют одну и ту же удаленную базу данных mysql.

Я еще не написал код, но вот что я имею в виду. Каждый раз, когда я запускаю вставку или обновление, я хотел бы записать его в обе базы данных, если удаленная БД недоступна, и в этом случае я сохраню инструкцию sql в таблице в локальной базе данных для запуска, когда удаленная БД доступна.

Можно ли это сделать с помощью маршрутизаторов баз данных, или мне нужно вручную реализовать это с каждым оператором db?

Примечание по PK: напрямую не связано, но обязательно спросят. Первичный ключ будет сгенерирован локально на каждой машине. В базе данных mysql будет поле для этого ключа и поле с уникальным идентификатором для каждого экземпляра приложения, которые вместе предоставят уникальный ключ.

5
задан AgDude 9 February 2011 в 13:11
поделиться