我们有多个功能需要开发,但管理层决定哪些功能进入 Live.. 这要求我们为每个用户故事/更改都有一个脚本。但是如何将数据库模式更改链接到 TFS 中的用户故事?
我们现在拥有的:
带有用户故事/任务 CC.net Buildserver 的 TFS
我已经为 SSDT 做过研究,看起来很棒!但是我怎样才能将它与 TFS 联系起来?
谢谢阅读,
安迪。
我们有多个功能需要开发,但管理层决定哪些功能进入 Live.. 这要求我们为每个用户故事/更改都有一个脚本。但是如何将数据库模式更改链接到 TFS 中的用户故事?
我们现在拥有的:
带有用户故事/任务 CC.net Buildserver 的 TFS
我已经为 SSDT 做过研究,看起来很棒!但是我怎样才能将它与 TFS 联系起来?
谢谢阅读,
安迪。
只要您的数据库脚本(或 SSDT 项目,如果您选择移动该方向)被检入到 TFS 版本控制中,changesets
和work items
. 在签入代码之前查看未决更改时,可以选择关联工作项(即用户故事或任务)。如果您使用的是 Visual Studio 2012,这就是关联工作项的样子:
如果您通过以下方式签入,这就是它的样子Windows Explorer
:
对彼此独立的系统进行更改可能会带来很多复杂性。我发现的最佳解决方案涉及创建“功能切换”,以便您在部署后启用或禁用功能。看看持续交付作为一个主题。Jez Humble 就这个主题写了一本很棒的书。
在某些情况下,数据库架构更改可能比仅启用或禁用某个功能更复杂。我建议使用扩展/收缩模型。您可以提前将任何新结构添加到数据库中,并以非破坏性的方式将其部署到生产中。然后,当您启用依赖于该结构的功能时,它就已经存在了。如果您需要在删除某些内容后清理数据库模式,那么您可以使用其他软件更改进行带外“合同”循环,以减少测试的表面积。