2011-09-29 119 views
1

我有一個數據庫項目,適用於我的本地MSSQL 2008數據庫。Visual Studio 2010數據庫項目部署到不同的環境

它具有腳本/部署後腳本,可以將常規數據配置插入到設置表和其他表中。每個表格有一個文件,例如一個Setting.sql文件將數據插入到Settings表中。

設置將根據我部署的數據庫而有所不同。

我該如何編寫腳本? Basicaly我希望能夠說2個文件,

Prod.Setting.sql和Dev.Setting.sql和VS 2010將使用相應的腳本,具體取決於我部署到的數據庫(環境)。

回答

3

完全可行,但有兩個選項和涉及的幾個步驟。您可以擁有一套完整的重複腳本,每個配置一個腳本。或者,您可以擁有一組腳本,其中的內容考慮了您正在使用的配置。我會與第一,我會保持簡單。

創建兩個解決方案配置,或者使用調試和發佈,如果你喜歡。我將以這些爲例。

對於每個配置,請創建一個新的.sqlcmdvars文件。

Database_Release.sqlcmdvars 
Database_Debug.sqlcmdvars 

切換您的解決方案配置到每個並在數據庫項目屬性改變的變量在您創建相應的文件文件拖放到一點。

在每個文件中,您都可以定義在部署過程中使用的變量。在每一個

$(DeploymentConfiguration) 

創建一個新的變量,並在每一個其值設置爲Debug或在您的任何前置或後置部署腳本釋放

然後,你可以做一些事情,像這樣:

IF '$(DeploymentConfiguration)' = 'Debug' 
BEGIN 
PRINT 'Executing Debug deployment' 
:r .\Debug\SomeNeededScript.sql 
END 

IF '$(DeploymentConfiguration)' = 'Release' 
BEGIN 
PRINT 'Executing Release deployment' 
:r .\Release\Anotherscript.sql 
END 
相關問題