Мы хотели бы использовать одну и ту же кодовую базу django, чтобы предлагать наши услуги нескольким компаниям, где каждая компания будет иметь свою собственную установку, собственную базу данных, полностью изолированную от остальных.
Ищете лучшую стратегию для этого.
Мы находимся на стадии планирования. Однако мы определили следующие требования и потенциальные проблемы / дополнительные нагрузки.
Требования
1.) Кодовая база должна быть идентичной.
2.) Каждая установка должна иметь свою собственную базу данных, в которой хранятся специфические для компании записи, такие как сведения о сотруднике, а также контент, который должен быть доставлен во внешний интерфейс (копия и т. П.). Каждая компания должна иметь собственную базу данных.
Потенциальные проблемы
1.) В настоящее время, когда мы вносим структурные изменения в базу данных, мы применяем их, используя систему миграции django. Тем не менее, в настоящее время у нас есть одна установка с сотнями миграций, новая установка не будет нуждаться во всех них, только в текущей версии моделей. Таким образом, нам пришлось бы отслеживать, производить и контролировать версии нескольких различных наборов миграций. Как лучше подойти к этому.
2.) Некоторые из миграций, которые мы имеем в нашем проекте, являются только данными, и они просто не имеют отношения к каким-либо новым установкам. Также возможно, что в будущем нам нужно выполнить миграцию данных в одной системе, а не в другой. Как лучше всего к этому подойти?
Если есть какой-то общий совет, который вы могли бы дать по этому поводу, он был бы наиболее полезным.