3

我们有一个流程,当开发人员更改或添加数据库脚本并将其签入项目时。在部署时,发布管理器需要知道哪些工作项已针对它签入了数据库脚本。有没有一种方法可以让我们在 TFS 中查询或创建自定义报告,以获取在变更集中具有特定文件扩展名 (.sql) 的文件的工作项列表。这样,发布经理将获得一份工作项列表,然后她可以将这些工作项提供给 DBA 进行分析、检查并应用于服务器。

我们正在使用 TFS 2008。

4

4 回答 4

1

安装最新的电动工具。然后你可以运行这个快速的 Powershell 脚本:

Get-TfsItemHistory $/project/*.sql -r -version D6/1/2009~ | 
    %{ $_.workitems } | %{ $_.id } | select -unique | sort

(根据需要调整项目名称和日期)

虽然这对于人工辅助代码审查非常有用,但我强烈警告不要使用它来实际构建部署脚本。如果开发人员忘记将他的签入与工作项相关联,或者如果他之前签入了他的错误修复所依赖的 SQL 文件,那么您将推出一组不一致的更改。最好让您在测试环境中使用的部署脚本尽可能地匹配您的生产部署。

于 2009-06-06T22:23:25.120 回答
0

您是否查看过新的GDR R2 数据库项目(Visual Studio 2008 团队版的免费下载)?

这种类型的项目最初是 Visual Studio 数据库版本的一部分。

它能够从现有数据库中导入模式、执行模式比较、支持多个目标(系统测试、UAT、生产等)、执行 TSQL 静态代码分析以及生成独立的部署工件。

于 2009-06-07T00:27:13.717 回答
0

我不是报告作者,但我认为您可能可以从 tfswarehouse 生成自定义报告,您可以在其中过滤扩展。但这只是一个假设。

也许您可以编写一个自定义签入策略,根据文件扩展名向适当的人发送电子邮件。这似乎是使用策略的一种非常繁重且不恰当的方式,但它可能会起作用。

只是一些没有可验证数据支持的想法。:D

于 2009-05-04T18:54:14.353 回答
0

您可以利用构建事件并让它指向您的自定义 Web 服务,该服务可以检查应用的变更集列表。这可以反过来对 TFS 进行查找以获取文件名,然后可以生成工作项。这意味着对 TFS API 的了解,但它们是不言自明的。这些事件是通过警报编辑器配置的,我相信它是 TFS 电动工具的一部分。我现在有这样的东西,它可以汇总已完成的工作并更新我们的外部时间跟踪系统。

于 2009-05-08T14:49:29.877 回答