Anpassen von Datenbankbuild und -bereitstellung mithilfe von Build- und Bereitstellungsmitwirkenden
Visual Studio stellt Erweiterungspunkte bereit, mit denen Sie das Verhalten der Build- und Bereitstellungsaktionen für Datenbankprojekte ändern können. Diese Erweiterungspunkte werden so definiert, dass sie für jede Implementierung eines Datenbankschema-Anbieters übernommen werden können.
Verfügbare Erweiterungspunkte
Sie können eine Erweiterung für die Erweiterungspunkte erstellen, wie in der folgenden Tabelle veranschaulicht:
Aktion |
Contributortyp |
Hinweise |
---|---|---|
Build |
BuildContributor |
Dieser Erweiterungstyp wird ausgeführt, wenn das Datenbankprojekt erstellt wird, nachdem das Projektmodell vollständig überprüft wurde. Der Buildcontributor kann neben allen Eigenschaften der Buildaufgabe und allen benutzerdefinierten Argumenten auch auf das abgeschlossene Modell zugreifen. |
Bereitstellung |
DeploymentPlanModifier |
Dieser Erweiterungstyp wird ausgeführt, wenn das Datenbankprojekt im Rahmen der Bereitstellungspipeline nach Generieren des Bereitstellungsplans, jedoch vor Ausführung des Plans bereitgestellt wird. Sie können den Bereitstellungsplan durch das Hinzufügen oder Entfernen von Schritten mithilfe eines DeploymentPlanModifier ändern. Bereitstellungscontributors können auf den Bereitstellungsplan, auf die Vergleichsergebnisse sowie auf die Quell- und Zielmodelle zugreifen. |
Bereitstellung |
DeploymentPlanExecutor |
Dieser Erweiterungstyp wird ausgeführt, wenn der Bereitstellungsplan ausgeführt wird, und bietet schreibgeschützten Zugriff auf den Bereitstellungsplan. Der DeploymentPlanExectutor führt Aktionen auf Grundlage des Bereitstellungsplans aus. |
Unterstützte Szenarios zur Erweiterbarkeit
Sie können Contributors für Build und Bereitstellung implementieren, um die folgenden Beispielszenarios zu aktivieren:
Generieren von Schemadokumentation während eines Projektbuilds
Um dieses Szenario zu unterstützen, implementieren Sie einen BuildContributor und überschreiben die OnExecute-Methode, um die Schemadokumentation zu generieren. Sie können die OnPopulateArguments-Methode überschreiben, um Standardargumente verfügbar zu machen, die eine Ausführung der Erweiterung steuern, und um den Namen der Ausgabedatei anzugeben.Generieren eines Unterschiedsberichts beim Bereitstellen eines Datenbankprojekts
Um dieses Szenario zu unterstützen, implementieren Sie einen DeploymentPlanExecutor, der die XML-Datei generiert, wenn das Datenbankprojekt bereitgestellt wird.Bearbeiten des Bereitstellungsplans zur Änderung bei Datenbewegungen
Um dieses Szenario zu unterstützen, implementieren Sie einen DeploymentPlanModifier und durchlaufen das Bereitstellungsszenario. Für jeden SqlTableMigrationStep in diesem Plan untersuchen Sie das Vergleichsergebnis, um zu bestimmen, ob dieser Schritt ausgeführt oder übersprungen werden soll.Kopieren von Dateien in den Buildausgabeordner beim Bereitstellen eines Datenbankprojekts
Um dieses Szenario zu unterstützen, implementieren Sie einen Bereitstellungscontributor und überschreiben die OnEstablishDeploymentConfiguration-Methode. So geben Sie an, welche Dateien, die (vom Projektsystem) als DeploymentConfigurationExtension gekennzeichnet wurden, in den Ausgabeordner kopiert werden sollen. Sie können auch den Contributor bearbeiten, um mehrere Dateien in einer neuen Datei zusammenzuführen, die in den Ausgabeordner kopiert und dem Bereitstellungsmanifest hinzugefügt wird.
Außerdem können Sie benutzerdefinierte Paare von Name-Wert-Argumenten aus dem Contributor verfügbar machen, die in die Datenbankprojektdatei geschrieben werden. Mit diesen Argumenten können Sie den Contributor zum Extrahieren von Informationen aus MSBuild aktivieren, oder Sie können das Anpassen des Verhaltens durch den Endbenutzer des Contributors aktivieren. Beispielsweise können Sie Benutzern ermöglichen, den Namen einer Eingabe- oder Ausgabedatei anzugeben.
Allgemeine Aufgaben
Allgemeine Aufgaben |
Unterstützender Inhalt |
---|---|
Weitere Informationen über die Erweiterungspunkte: Hier erhalten Sie Informationen über die Basisklassen, mit denen Sie Contributors für Build und Bereitstellung implementieren. |
|
Beispielcontributors erstellen: Hier lernen Sie die Schritte kennen, die erforderlich sind, um einen Build- oder Bereitstellungscontributor zu erstellen. Im Rahmen dieser exemplarischen Vorgehensweisen können Sie Folgendes tun:
Alle Contributors können, je nachdem, wie die Contributors an das Team verteilt werden sollen, in einer einzelnen Assembly oder in mehreren Assemblys erstellt werden. |
|
Contributors für Build und Bereitstellung an Teammitglieder verteilen: Nachdem Sie sich vergewissert haben, dass die Contributors ordnungsgemäß funktionieren, können Sie diese an das Team verteilen. Sie können jedes Teammitglied bitten, die Funktionserweiterung manuell zu installieren und zu registrieren, Sie können dafür jedoch auch ein einfaches Installationsprogramm erstellen. |
Ähnliche Szenarien
Erstellen benutzerdefinierter Typen oder Regeln für die Datenbankumgestaltung
Erstellen und Registrieren zusätzlicher Regeln für die Datenbankcodeanalyse
Generieren spezialisierter Testdaten mit einem benutzerdefinierten Daten-Generator
Definieren benutzerdefinierter Bedingungen für Datenbankkomponententests
Siehe auch
Konzepte
Erweitern der Datenbankfunktionen von Visual Studio
Erstellen und Bereitstellen von Datenbanken für eine isolierte Entwicklungsumgebung
Erstellen und Bereitstellen von Datenbanken für eine Staging- oder Produktionsumgebung