警告:长期问题。
[问题]
如果策略是每个数据库都有一个分支,如下面的问题所述,脚本受版本控制。
在尝试整合到较少的分支机构时,如何管理数据迁移问题?
这只是您在数据迁移过程中产生的成本吗?
基本上,必须在迁移时创建转换脚本。
有更好的方法吗?
我们可以同时解决这两个问题吗?
什么是最佳做法?
[背景]
在我的工作场所,我们有一个有3个分支的产品。主线有“最新和最大”的变化,没有必要准备发布。
由于这些分支,实际上有3个版本的数据库。 代码版本控制相当容易,但数据库版本控制似乎很难。
阅读Do you use source control for your database items? 似乎最好的方法是导出每个对象/表的所有创建脚本。 注意:根据文章,您可以在一个大脚本或多个脚本或混合脚本中管理它。
我同意这一点,并询问为什么没有这样做。
目前,DBA拒绝将脚本分支到分支机构。 除了懒惰作为借口之外,原因是节省了数据迁移的时间。 实际上,所有版本都强制维护数据库更改。
所有脚本都受版本控制,仅在主线中维护。 版本A和版本B有自己的特殊文件,说明哪些更改脚本要在各自的分支上运行。当存在更改脚本时会出现问题,例如应用于版本A但版本B仅需要部分更改。开发人员可以通知DBA更新文件,该文件指示要为每个分支应用哪些补丁。对于需要进行过多手动干预的更改脚本,需要手动应用部分更改脚本。
要更新版本A上的数据库,所有修补程序都使用版本A提取,以便应用文件。
[SCENARIO]
希望这是有道理的。