【发布时间】:2021-08-24 13:47:17
【问题描述】:
我是一个小团队的一员,他们希望转而使用 TFS 进行 SQL Server 2008 数据库的源代码控制和构建管理。对于我们的产品,可能会有客户运行不同版本的产品/数据库。我需要解决的一个问题是如何在超出正常部署能力的情况下管理复杂的升级脚本。
一个简单的例子:
1.0 版为管理员和客户提供了单独的表格。
2.0 版将这些表替换为一个用户表。为此,需要一个自定义脚本将信息从管理员和客户端迁移到用户。根据 Visual Studio ALM Rangers (http://vsdatabaseguide.codeplex.com) 的指南,最好的方法是在部署前将数据复制到临时数据库中,然后从临时数据库中复制出来部署后。
这种方法可以很好地将 2.0 版部署到现有的 1.0 版数据库,但是如何为未来的版本管理这个更新脚本呢?在这里使用 TFS 的目标之一是能够将 3.0 版部署到运行 1.0 版或 2.0 版的数据库;升级脚本必须保留为部署过程的一部分,以便从 1.0 升级到 3.0,但从 2.0 升级到 3.0 时不应包含该脚本。
可以通过 TFS 管理像这样的升级脚本吗? TFS 是否能够仅执行基于任何类型的版本控制的某些脚本?
【问题讨论】: