谁能阐明如何让 Team Build 2010 beta 2 将 SQL 数据库项目推送到 SQL 服务器?
在 VSTS 2008 中,您只需在 TFSBuild.proj 文件中添加目标属性设置为“deploy”的 MSBuild 命令,但是我在将其转换为 2010 使用的基于新工作流的 xaml 事物时遇到了一些麻烦。
我正在寻找的是如何触发数据库本身的实际部署。它已经很好地生成了部署脚本。
谁能阐明如何让 Team Build 2010 beta 2 将 SQL 数据库项目推送到 SQL 服务器?
在 VSTS 2008 中,您只需在 TFSBuild.proj 文件中添加目标属性设置为“deploy”的 MSBuild 命令,但是我在将其转换为 2010 使用的基于新工作流的 xaml 事物时遇到了一些麻烦。
我正在寻找的是如何触发数据库本身的实际部署。它已经很好地生成了部署脚本。
对于仍在寻找答案的任何人,请使用使用 vsdbcmd.exe 的调用进程: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
如果您不需要增量数据库升级,这个问题还有另一个解决方案。因此,如果您可以为每个构建重新创建数据库,那么以下内容也可以使用。
将部署目标添加到数据库项目文件
配置“<code>我的项目设置”的部署设置。然后在构建解决方案时,构建服务器将使用这些设置。在本地构建时,使用的设置将来自“<code>我的隔离开发环境”。
部署动作需要'<code>创建部署脚本(.sql)并部署数据库';这将阻止脚本的执行,它只会创建它。
修改数据库项目文件(右键数据库项目,选择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>我的项目设置”选择的部署设置。
优点
缺点
到目前为止,我发现的最接近的是Jim Lamb(Microsoft 的 Team Foundation PM)的这篇文章。
在这里,他含糊地谈到了创建自定义 proj 文件和修改默认构建过程模板以调用 proj 文件。
他还谈到了使用我之前忽略的升级模板。显然升级模板可用于调用 2008 构建定义。我宁愿不调用和定义基于遗留项目文件的整个构建,但至少它是一个选项。
这两个主题都没有包含足够的信息让我实际进行必要的修改,但它确实为我未来的一些实验提供了一个合理的起点。