我们在Visual Studio 2010中使用 SQL Server数据库项目模板。作为集成测试的一部分,我想首先启动数据库的全新部署。但是,如果没有手动右键单击项目并选择“部署”,那么获取部署的数据库的新副本似乎并不简单。
此项目类型的文档似乎稀疏到不存在。也许我正在寻找错误的地方。如果可能的话,请提供方法参考。
更新
我们的集成测试在Visual Studio中编写为单元测试。因此,目标是按运行测试按钮,然后部署数据库,然后运行针对它的测试。
答案 0 :(得分:5)
对于新的数据库实例(不是对数据库的增量更新),MSDeploy应该这样做。 Here's我在这个主题上找到了一个快速的帖子。我自己还没有真正完成它,但是一位同事说它在他的环境中有效。
答案 1 :(得分:5)
我设法找到了一个命令行工具来执行此操作。它叫做VSDBCMD.EXE,它附带了Visual Studio 2010.我首先了解了它here (scroll to the bottom of the article),然后我跟着link and found the details of how to get it installed on my server。
在第二篇文章中,如果您使用的是64位计算机,则无法在Program Files下找到VSTSDB目录...您需要查看Program Files(x86)。
我按照说明写了(安装了32位和64位版本的SQL CE)并且它运行良好。我基本上从我的SQL Server 2008数据库项目中获取构建的输出,将其压缩并将其放在服务器上,然后运行部署脚本。
我第一次这样做时,目标数据库不存在。该工具创建了数据库并进行了很好的设置。然后我尝试在项目中的表中添加一列。我重建了项目并获取了输出并像以前一样进行了部署,并正确地更改了现有的表,就像通过右键单击并选择Deploy一样。
到目前为止似乎运作良好。希望这有帮助!
答案 2 :(得分:0)
根据此MSDN文章How to: Deploy Changes to New or Existing Databases,您应该可以使用MSBuild:
MSBuild /t:Build;Deploy c:\path-to-my-project\DatabaseProject.dbproj
答案 3 :(得分:0)
我正在Powershell中运行它
&"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Current\Bin\MSBuild.exe" /t:Build,Publish /p:SqlPublishProfilePath="C:\Path-To-Project\My-Local-Database.xml" "D:\Path-To-Project\My.Database.sqlproj"