如何:使用Team System Build 2010(beta 2)部署SQL数据库项目

时间:2009-10-27 19:01:27

标签: visual-studio-2010 tfs2010 tfsbuild

任何人都可以了解如何获得Team Build 2010 beta 2将SQL数据库项目推送到SQL服务器吗?

在VSTS 2008中,您只需添加MSBuild命令,并在TFSBuild.proj文件中将targets属性设置为“deploy”,但我在将其转换为2010使用的基于xaml的新工作流时遇到了一些麻烦。

我正在寻找的是如何触发数据库本身的实际部署。它已经很好地生成了部署脚本。

4 个答案:

答案 0 :(得分:6)

答案 1 :(得分:1)

以下是一个例子:

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

您可能只是缺少DeployToDatabase = true

答案 2 :(得分:1)

如果您不需要增量数据库升级,还有另一种解决方案可以解决此问题。因此,如果为每个构建重新创建数据库,则可以使用以下内容。

将部署目标添加到数据库项目文件

配置“My project settings”的部署设置。构建解决方案时,构建服务器将使用这些设置。在本地构建时,使用的设置将来自“My isolated development environment”。

  1. 在数据库项目属性
  2. 部署行动需要为“Create a deployment script (.sql) and deploy the database”;这将阻止脚本的执行,它只会创建它。

    1. 数据库项目文件
    2. 修改数据库项目文件(右键单击数据库项目,选择“卸载”,再次右键单击,选择“编辑[ProjectName] .dbproj”) 从

      <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
      

      <Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
      

      当构建服务器构建包含数据库项目的解决方案时,添加默认目标也将部署数据库。此版本将使用为“My project settings”选择的“部署”设置。

      赞成

      • 易于设置

      缺点

      • 由于默认目标更改为Build and Deploy,当开发人员对解决方案进行本地重建时,它还将部署数据库(仅构建不会触发部署)

答案 3 :(得分:0)

到目前为止,我发现的最接近的是来自Jim Lamb(微软团队基金会主席)的this post

他在这里含糊地谈到创建自定义proj文件和修改默认构建过程模板以调用proj文件。

他还谈到了使用我之前忽略的升级模板。显然,升级模板可用于调用2008构建定义。我宁愿不根据遗留的proj文件调用和定义整个构建,但至少它是一个选项。

这两个主题都没有足够的信息让我真正做出必要的修改,但它确实为我未来的实验提供了一个合理的起点。