Dela via


Anpassa databasversion och distribution med hjälp av kompilerings- och distributionsdeltagare

Visual Studio innehåller utökningspunkter som du kan använda för att ändra beteendet för bygg- och distributionsåtgärder för databasprojekt.

Tillgängliga utökningspunkter

Du kan skapa ett tillägg för utökningspunkterna enligt följande tabell:

Åtgärd Deltagartyp Noteringar
Skapa BuildContributor Den här typen av tillägg körs när SQL-projektet skapas efter att projektmodellen har verifierats helt. Byggdeltagaren kan komma åt den slutförda modellen, förutom alla egenskaper för build-uppgiften och eventuella anpassade argument.
Rulla ut DeploymentPlanModifier Den här typen av tillägg körs när SQL-projektet distribueras, som en del av distributionspipelinen, efter att distributionsplanen har genererats, men innan distributionsplanen körs. Du kan använda en DeploymentPlanModifier för att ändra distributionsplanen genom att lägga till eller ta bort steg. Distributionsdeltagare kan komma åt distributionsplanen, jämförelseresultaten och käll- och målmodellerna.
Rulla ut DeploymentPlanExecutor Den här typen av tillägg körs när distributionsplanen utförs och möjliggör åtkomst med läsrättigheter till distributionsplanen. DeploymentPlanExecutor utför åtgärder baserat på distributionsplanen.

Utökningsscenarier som stöds

Du kan implementera kompilerings- eller distributionsdeltagare för att aktivera följande exempelscenarier:

  • Generera schemadokumentation under en projektversion – För att stödja det här scenariot implementerar du en BuildContributor och åsidosätter metoden OnExecute för att generera schemadokumentationen. Du kan skapa en målfil som definierar standardargument som styr om tillägget körs och för att ange namnet på utdatafilen.

  • Generera en skillnadsrapport när ett SQL-projekt distribueras – För att stödja det här scenariot implementerar du en DeploymentPlanExecutor som genererar XML-filen när SQL-projektet distribueras.

  • Ändra distributionsplanen så att den ändras när datarörelser inträffar – För att stödja det här scenariot implementerar du en DeploymentPlanModifier och itererar över distributionsplanen. För varje SqlTableMigrationStep i planen undersöker du jämförelseresultatet för att avgöra om det steget ska utföras eller hoppas över.

  • Kopiera filer till det genererade dacpac när ett SQL-projekt distribueras – För att stödja det här scenariot implementerar du en distributionsdeltagare och åsidosätter metoden OnEstablishDeploymentConfiguration för att ange vilka filer som markeras som DeploymentExtensionConfiguration av projektsystemet. Dessa filer bör kopieras till resultatkatalogen och läggas till i den genererade dacpac-fil. Du kan också ändra komponenten för att slå samman flera filer till en ny fil som kopieras till utdatamappen och läggs till i distributionsmanifestet. Under distributionen kan du implementera metoden OnApplyDeploymentConfiguration för att extrahera filerna från dacpac och förbereda dem för användning i metoden OnExecute.

Dessutom kan du exponera anpassade par med namn-/värdeargument från bidragsgivaren som skrivs till databasens projektfil. Du kan använda dessa argument för att göra det möjligt för deltagaren att extrahera information från MSBuild eller för att göra det möjligt för slutanvändaren av din deltagare att anpassa beteendet. Du kan till exempel tillåta användare att ange namnet på en indata- eller utdatafil.

Vanliga uppgifter

Task Ytterligare innehåll
Läs mer om utökningspunkterna: Du kan läsa om de basklasser som du använder för att implementera kompilerings- och distributionsdeltagare. BuildContributor

DeploymentContributor
Skapa exempeldeltagare: Lär dig de steg som krävs för att skapa en kompilerings- eller distributionsdeltagare. Om du följer dessa genomgångar gör du följande:

– Skapa en byggdeltagare som genererar en rapport som visar alla element i modellen.
– Skapa en distributionsdeltagare som ändrar distributionsplanen innan den körs.
– Skapa en distributionsdeltagare som genererar en distributionsrapport när du distribuerar ett SQL-projekt.

Du kan skapa alla dina deltagare i en enda sammansättning eller bland flera sammansättningar, beroende på hur du vill att bidragsgivarna ska distribueras till ditt team.
Genomgång: Utöka databasprojektversion för att generera modellstatistik

Genomgång: Utöka distributionen av databasprojekt för att ändra distributionsplanen

Genomgång: Utöka distributionen av databasprojekt för att analysera distributionsplanen