是否有方法/机制可用于在Visual Studio 2012/2013中基于SSDT的数据库项目中运行不同的部署后脚本集,基于构建配置?我希望通过使用“测试”配置进行部署来预先填充数据以进行测试/持续集成,但自然不希望为其他环境执行此操作。虽然我似乎无法找到一种有条件地将后期部署脚本链接到构建配置的方法,而这对我来说似乎很奇怪。VS 2013数据库项目:根据构建配置运行的部署后脚本
4
A
回答
3
您也可以使用SQLCMD变量来做类似的事情。如果值==“Test”,则运行一组值。如果没有,运行其他的东西。我的博客上讲述,在这里:
http://schottsql.blogspot.com/2013/05/trick-to-not-run-prepost-sql-on-publish.html
它不是构建完成,该脚本始终包含这种方式,但如果这不是一个问题,它给你一个方法可以轻松地编写代码来在各种环境中运行容易。
7
您可以通过编辑MSBuild使用的.sqlproj文件来完成此操作。然后,当您构建“测试”配置时,您可以在“发布”模式下构建不同的dacpac内容。例如:
- 创建项目并添加部署后脚本
- 卸载该项目并编辑.sqlproj文件
- 更改包含PostDeploy脚本来看看如下的ItemGroup:
<ItemGroup Condition=" '$(Configuration)' == 'Release' "> <PostDeploy Include="Debug.PostDeployment1.sql" /> </ItemGroup>
- Build in Debug configuration and unpack the dacpac:no postdeploy.sql fil e将包含在内
- 构建测试配置并解压dacpac:postdeploy.sql文件将在那里。
+0
blech,这是丑陋的...但它看起来像它会工作。 – 2014-08-27 17:56:16
相关问题
- 1. SQL Server数据库项目部署前和部署后脚本
- 2. 部署数据库项目脚本Erroinr
- 3. VS 2010数据库项目部署SQL脚本
- 4. 为什么不在VS2008数据库项目中运行部署后脚本?
- 5. 根据构建配置设置VS DefaultLocation
- 6. VS 2010数据库项目运行脚本有条件
- 7. SQL Server数据库项目:在预先部署脚本
- 8. Web部署:根据项目配置名称排除目录
- 9. 根据spring-boot项目构建可部署的WAR
- 10. 如何脚本部署Visual Studio数据库项目?
- 11. 为Visual Studio 2010数据库项目自定义部署脚本
- 12. 在TFS构建过程中部署数据库和Web项目
- 13. VS 2010中的数据库项目无法使用sys.syscolumns构建/验证脚本
- 14. 我是否可以更改VS2010数据库项目的部署脚本的位置,从TFS CI构建
- 15. 数据库项目在部署之前删除数据库?
- 16. 在自动构建之前部署/运行数据库更改
- 17. 根据配置从Visual Studio部署项目中排除文件
- 18. VS 2013中的VS 2013项目:元数据文件丢失
- 19. VS2010数据库项目是否可以创建可重新运行的部署脚本?
- 20. 数据库部署:脚本或备份
- 21. VS 2008数据库项目 - 在部署'DatabaseName'期间未定义
- 22. VS 2015 MSBuild部署数据库项目错误
- 23. 预部署在数据库项目
- 24. 如何部署数据库项目?
- 25. 自动化数据库项目部署
- 26. VS2010数据库项目部署问题
- 27. 数据库项目部署过程
- 28. Visual Studio 2010数据库项目部署
- 29. VS2013数据库项目无法构建
- 30. 使用VS 2013构建VC++ 2008项目
嗯...你如何将SQLCMD值设置为构建配置?我尝试使用'$(Configuration)',但它只是解析该值并存储“调试”。 – 2014-08-29 12:38:07
我们创建发布配置文件来完成所有这些。然后我们使用该发布配置文件构建。我知道有一个选项可以通过SQLCMD值,但不知道它是什么在我头上。我们更经常地先构建,然后发布w/SQLPackage来设置值。 – 2014-08-29 14:04:06
我明白了!谢谢。 – 2014-08-29 15:30:34