是否有方法/機制可用於在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