Несколько баз данных: как заставить внешнее приложение django использовать другую базу данных - PullRequest
1 голос
/ 09 февраля 2012

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

Приложение django использует практически неуправляемую БД (это скореесложный, с использованием представлений, триггеров и т. д., например, syncdb не работает).Это нормально, однако, так как администратор базы данных создает собственные миграции баз данных и управляет базой данных независимо от django.

Однако я хочу использовать некоторые сторонние сторонние приложения, и некоторые из них когда-нибудь поставляются с некоторыми из них.таблицы базы данных.Я бы очень хотел иметь возможность 10000 * и управлять ими независимо.Поскольку таблицы приложений, как правило, не зависят от таблиц основных приложений, идея, с которой я сейчас играю, заключается в использовании отдельной базы данных 'other' для сторонних приложений.

Читая руководство, кажется, имеет смысл создать собственный маршрутизатор и на основе имени приложения направить его в эту базу данных 'other'.Однако что произойдет, если приложению также необходимо взаимодействовать с существующими моделями?Возможно ли / целесообразно создать маршрутизатор, который будет эффективно направлять все специфичные для приложения таблицы в базу данных 'other' и что-либо еще в базу данных 'default'?Есть ли общий способ сделать это без жесткого кодирования всех сторонних таблиц где-нибудь в маршрутизаторе?

1 Ответ

1 голос
/ 09 февраля 2012

Это был глупый вопрос. Должен быть дефицит кофеина или неблагоприятная реакция на снег. Я просто не осознавал, что функции маршрутизатора базы данных получают модель в качестве параметра и могут легко принять решение по модели (а не по приложению).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...