我们拥有一个数据库,可存储我们所有软件产品的各种记录。一些记录用于特定软件,一些记录由不同软件共享 不同的团队将锁定,编辑和更新数据库 当我们发布不同的软件时,我们只需抓住这个单一的大数据库并使用该软件发布它。
问题在于:
我想知道这种问题的常用解决方案是什么,以下是我能想到的解决方案:
答案 0 :(得分:0)
我会采用你的第一种方法。在我阅读你的答案之前,这就是我的想法。拥有“母亲”数据库的好处是,您可以使所有软件产品符合相同的架构。如果愿意的话,它们都共享相同的模板。
然后,当您准备好发布时,就像您说的那样,您运行一个进程并生成数据库的紧凑版本并准备发布。
由于架构更新,选项2是个坏主意。它在概念上与分叉代码库非常相似。如果您将代码库分叉10次,那么当出现错误修复时,您必须前往10个位置进行修复并释放它。
还要考虑拥有一个母数据库可以让您轻松地对所有数据库进行查询。 “我们有多少个版本?我们有多少产品?我们发布的最后一个产品是什么?”
如果拆分数据库,那么这种查询就更难写了。