TFS分支和数据库

5
我有一个项目需要建立简单的分支策略,以便在开发新功能的同时仍能够修复另一个分支上的错误。但是我遇到了数据库的问题。
数据库模式作为数据库项目的一部分收录在TFS中。为了拥有足够的测试数据,在开发过程中我们曾经备份了现场数据库并用于测试。
目前,总计三棵数据库树位于工作组服务器上,每个开发人员都有一套数据库,并且每个数据库集合会不时地更新为其他开发人员创建的SQL脚本,以更改模式。
我的问题是:如何重新组织这些数据库,使得每个分支都是自包容的,并且我们可以轻松地从一个分支切换到另一个分支。我已经尝试使用SQL Express并将数据库放置在分支内,但效果不理想。我们还考虑过创建包含所有数据的脚本,并从数据库中重建数据库,但这样做耗时过长,并且一些开发人员往往会忘记经常执行此操作。
有什么好的建议吗?
2个回答

3

0

Visual Studio 数据库项目并非支持保留数据进行数据库升级的最佳工具。

重新思考全新安装和升级之间的关系可能会很有用。对许多公司而言,升级只是一个附带的考虑因素,升级脚本是基于全新安装脚本的增量创建的。这导致了重复维护、不一致性以及在升级路径上 "当前" 模式的细节的严重依赖。

因此,我建议:

  • 仅维护升级脚本(除非声明性源代码优先且每次升级都可以进行完全刷新)
  • 决定是否需要支持降级
  • 确保在基础架构层面上,每个升级脚本最多只被应用一次
  • 基本上不要编辑升级脚本,尽量在应用序列末尾添加新的脚本

这是一个相当深入的改变,需要改变思维方式,因此请先仔细评估您的长期升级需求。需要进行更改的一个指示是预计将在多个发布和开发分支中进行大量并行开发或维护。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接