任何人都可以阐明如何使用 Team Build 2010 beta 2 将 SQL 数据库项目推送到 SQL 服务器吗?

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

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

有帮助吗?

解决方案

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

其他提示

以下是一个例子:

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

您可能只是缺少DeployToDatabase = true

如果您不需要增量数据库升级,还有另一种解决方案。因此,如果您可以为每个构建重新创建数据库,那么以下操作也可以。

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

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

  1. 在数据库项目属性中

部署操作需要是‘Create a deployment script (.sql) and deploy the database’;这将阻止脚本的执行,只会创建它。

  1. 数据库项目文件

修改数据库项目文件(右键单击数据库项目,选择卸载,再次单击右键,从

<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’.

优点

  • 易于设置

缺点

  • 由于默认目标更改为“构建并部署”,因此当开发人员对解决方案进行本地重建时,它也会部署数据库(仅构建不会触发部署)

到目前为止,我发现的最接近的事情是这篇文章

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top