2014-03-03 23 views
2

有幾種類型的數據庫項目的腳本:PreDeploymentPostDeploymentBuildNotInBuild
,而前兩種只能存在於一個單一的副本,構建腳本可以在豐盈。什麼定義了VS2012數據庫項目中腳本執行的順序?

執行時以什麼順序打造專業化腳本我無法找到的信息。
這是否意味着構建腳本不必依賴於執行順序或者我錯過了某些東西?

回答

1

你可以標記爲「部署前的」一個腳本,並標記爲「部署後」一個腳本。這些腳本將使用SQLCMD語法將其他腳本(構建類型爲「無」)作爲該進程的一部分。

部署前腳本將被編譯爲包括包含在您指定的順序所有腳本。部署後腳本將以相同的方式進行編譯。

要包含文件中的前或後的部署腳本,您使用的語法,如:

:r .\IncludeThisScript.sql 

當您發佈,預部署腳本將先運行,那麼數據庫的更改將被製成那麼後期部署腳本將運行。還值得注意的是,數據庫變更腳本是在不知道前/後部署腳本將執行或已完成的情況下生成的。如果您在預部署腳本中創建一個表並嘗試在該項目中創建它,則該項目可能會失敗,因爲該表已存在。

+0

和怎麼樣構建腳本? –

+0

如果您的意思是更改數據庫的實際腳本,則完全由內部控制。據我所知,你可以做的唯一事情就是手動編輯一個生成的腳本。通常情況下,不要完全從牆上完成任何事情。 –

+0

然後,最好是創建不依賴執行順序的構建腳本... –

相關問題