我们想使用相同的django代码库向多家公司提供服务,因为每个公司都将拥有自己的安装,自己的数据库,与其余公司完全隔离。
希望找到最好的策略来做到这一点。
我们正处于计划阶段。但是,我们已经确定了以下要求以及潜在的问题/额外的工作量。
要求
1。)代码库应该相同。
2。)每个安装都应该有自己的数据库,该数据库存储公司特定的记录(例如员工详细信息)以及要传递到前端的内容(副本等)。每个公司都必须有自己的数据库。
潜在问题
1。)当前,当我们进行数据库结构更改时,我们使用django迁移系统应用这些更改。但是,我们目前有一个包含数百个迁移的安装,一个新安装将不需要所有这些迁移,仅需要模型的当前版本。因此,我们最终不得不跟踪并生产和版本控制多组不同的迁移。如何最好地解决这个问题。
2。)我们在项目中进行的某些迁移仅是数据,而与任何新安装都不相关。将来我们可能还需要在一个系统上而不是在另一个系统上进行数据迁移。如何以最佳方式解决这一问题。
如果您对此有任何一般建议,那将是最有帮助的。