5

谁能阐明如何让 Team Build 2010 beta 2 将 SQL 数据库项目推送到 SQL 服务器?

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

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

4

4 回答 4

6

对于仍在寻找答案的任何人,请使用使用 vsdbcmd.exe 的调用进程:http: //msdn.microsoft.com/en-us/library/ff805001.aspx

于 2011-01-06T19:56:27.423 回答
1

这是一个例子:

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

可能是您只是缺少 DeployToDatabase=true

于 2009-11-05T16:43:50.100 回答
1

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

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

配置“<code>我的项目设置”的部署设置。然后在构建解决方案时,构建服务器将使用这些设置。在本地构建时,使用的设置将来自“<code>我的隔离开发环境”。

  1. 在数据库项目属性中

部署动作需要'<code>创建部署脚本(.sql)并部署数据库';这将阻止脚本的执行,它只会创建它。

  1. 数据库项目文件

修改数据库项目文件(右键数据库项目,选择Unload,再次右键,选择Edit [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">

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

优点

  • 易于设置

缺点

  • 因为默认目标改为Build and Deploy,所以当开发者对解决方案进行本地Rebuild时,也会部署数据库(仅构建不会触发部署)
于 2011-06-02T14:14:19.383 回答
0

到目前为止,我发现的最接近的是Jim Lamb(Microsoft 的 Team Foundation PM)的这篇文章。

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

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

这两个主题都没有包含足够的信息让我实际进行必要的修改,但它确实为我未来的一些实验提供了一个合理的起点。

于 2009-11-05T19:00:32.440 回答