Visual Studio 2010数据库项目安装程序/安装脚本
问题描述:
我一直在Visual Studio 2010中使用数据库项目来创建数据库。 Visual Studio使这个过程非常容易部署数据库和部署更新。我遇到的问题是如何让Visual Studio创建一个脚本来构建我可以在QA或生产系统上使用的数据库。Visual Studio 2010数据库项目安装程序/安装脚本
我认为构建项目会创建一个SQL文件,但这似乎并不正确。有人可以请告诉我如何做到这一点,或者我明显缺少什么简单的步骤。
答
听起来很奇怪,当您执行构建时,Visual Studio不会创建SQL文件来部署数据库。
相反,这发生在部署时。这背后的原因在于Visual Studio对要部署的数据库进行更改的方式:为了更改数据库,它必须首先将项目模型(如.dbproj中包含的文件中定义的)与确定自数据库上次部署以来所做的更改。
然后,您可以选择手动执行使用SQLCMD命令行实用程序(或通过SQLCMD模式下的SSMS)生成的SQL脚本,或者可以将Visual Studio数据库项目配置为在指定在项目设置以下部署操作:
Generate a deploy script (.sql) and deploy to the database
请注意,您需要提供在项目设置一个连接字符串,所以VS知道在哪里部署。
当你到要部署到QA或PROD环境的阶段,你有两个选择:直接在Visual Studio中
- 部署。除了首次创建数据库项目时获得的标准调试和发布配置外,您还可以创建自己的配置,您可以使用该配置将其部署到您的QA和PROD环境(即可能使用不同的连接字符串/目标数据库名称)。
- 从构建服务器部署。在单独的计算机上安装Visual Studio,并使用指定的构建和部署目标以及相应的连接属性,针对.dbproj/.sln文件调用MsBuild。
道格·拉思伯恩写了这一问题产生极大的博客文章,如果你想了解更多:有同样的问题请别人帮助 http://www.diaryofaninja.com/blog/2011/06/23/compare-amp-update-database-schemas-right-within-your-ide--part-2-automation-with-teamcity
IM – JML 2011-09-06 12:05:40