共用方式為


使用建置和部署參與者自訂資料庫建置和部署

Visual Studio 提供擴充性點,您可以用於修改資料庫專案的建置和部署動作行為。 這些擴充點的定義方式可讓它們套用至任何資料庫結構描述提供者 (DSP) 實作。

可用的擴充點

您可以建立擴充點的課程功能,如下表所示:

動作

參與者類型

備註

建置

BuildContributor

在完全驗證專案模型之後建置資料庫專案時,會執行這種類型的擴充功能。 建置參與者可以存取完整的模型,以及建置工作和任何自訂引數的所有屬性。

部署

DeploymentPlanModifier

此類型的擴充會在部署資料庫專案時執行,做為部署管線的一部分,在產生部署計劃之後,但在執行部署計劃之前。 您可以使用 DeploymentPlanModifier 修改部署計劃,方法是加入或移除步驟。 部署參與者可以存取部署計劃、比較結果和來源和目標模型。

部署

DeploymentPlanExecutor

此類型的擴充時在執行部署計劃時執行,並可提供對該部署計劃的唯讀存取。 DeploymentPlanExectutor 會根據部署計劃執行動作。

支援的擴充性案例

您可以實作建置或部署參與者,以啟用下列範例案例:

  • 產生專案建置期間的結構描述文件
    若要支援此案例,您可實作 BuildContributor 並覆寫 OnExecute 方法以產生結構描述文件。 您可以覆寫 OnPopulateArguments 方法以公開預設引數,其控制是否執行擴充和指定輸出檔案的名稱。

  • 當部署資料庫專案時產生不同的報告
    若要支援此案例,您可實作 DeploymentPlanExecutor,其會在部署資料庫專案時產生 XML 檔案。

  • 修改部署計劃以變更發生資料移動的時間
    若要支援此案例,您可實作 DeploymentPlanModifier 並反覆部署播放。 針對該計劃中的每個 SqlTableMigrationStep,您可以檢查比較結果,以判定應該執行還是跳過該步驟。

  • 當部署資料庫專案時將檔案複製到建置輸出資料夾
    若要支援此案例,您可實作部署參與者,並覆寫 OnEstablishDeploymentConfiguration 方法,以指定標記為 DeploymentConfigurationExtension (依專案系統) 的哪些檔案應該複製到輸出資料夾。 您也可以修改參與者,以將多個檔案合併為一個新檔案,然後複製到輸出資料夾並且加入部署資訊清單。

此外,您可以公開來自參與者的自訂名稱值引數配對,其會寫入資料庫專案檔案。 您可以使用這些引數來讓參與者從 MSBuild 擷取資訊,或讓參與者的使用者自訂行為。 例如,您可以允許使用者指定輸入或輸出檔案的名稱。

一般工作

一般工作

支援內容

了解擴充性點的詳細資訊:您可以閱讀用來實作建置和部署參與者的基底類別詳細資訊。

建立範例參與者:了解建立組建或部署參與者所需要的步驟。 如果您遵循此逐步解說,則可以:

  • 建立組建參與者,可產生列出模型中所有元素的報告。

  • 建立部署參與者,可在執行部署計劃之前變更部署計劃。

  • 建立部署參與者,可在部署資料庫專案時產生部署報告。

您可以在單一組件中建立全部的參與者,或分散在數個組件中,視您要如何將參與者散發給小組而定。

散發組建和部署參與者給小組成員:在驗證參與者正確運作之後,您可以將它們散發給小組。 您可以要求每個小組成員,手動安裝及註冊「擴充功能」(Feature Extension),或者為此建立簡單的安裝程式。

相關案例

建立自訂資料庫重構型別或目標

建立和註冊用於分析資料庫程式碼的其他規則

使用自訂資料產生器產生特製化測試資料

定義資料庫單元測試的自訂條件

請參閱

概念

擴充 Visual Studio 的資料庫功能

建置和部署資料庫到隔離的開發環境

建置和部署資料庫到開發用或實際執行環境