Integrering av SQL-databasekildekontroll i Microsoft Fabric
Gjelder for:✅SQL-database i Microsoft Fabric
I denne opplæringen lærer du hvordan du arbeider med SQL-databasen i Fabric med fabric git integration source control.
En SQL-database i Microsoft Fabric har kildekontrollintegrering, eller git-integrasjon, slik at SQL-brukere kan spore definisjonene av databaseobjektene over tid. Denne integreringen gjør det mulig for et team å:
- Utfør databasen til kildekontroll, som automatisk konverterer den direktesendte databasen til kode i det konfigurerte kildekontrollrepositoriet (for eksempel Azure DevOps).
- Oppdater databaseobjekter fra innholdet i kildekontrollen, som validerer koden i kildekontrollrepositoriet før du bruker en differenialendring i databasen.
Her er noen anbefalte ressurser hvis du ikke er kjent med git:
Denne artikkelen presenterer en rekke nyttige scenarioer som kan brukes individuelt eller i kombinasjon for å administrere utviklingsprosessen med SQL-databasen i Fabric:
- Konvertere Fabric SQL-databasen til kode i kildekontrollen
- Oppdater Fabric SQL-databasen fra kildekontrollen
- Opprette et grenarbeidsområde
- Slå sammen endringer fra én gren til en annen
Scenariene i denne artikkelen er dekket i en episode av Data Exposed. Se videoen for en oversikt over kildekontrollintegreringen i Fabric:
Forutsetning
- Du trenger en eksisterende stoffkapasitet. Hvis du ikke gjør det, kan du starte en fabric-prøveversjon.
- Kontroller at du aktiverer SQL-database i stoffleietakerinnstillinger.
- Kontroller at du aktiverer leierinnstillinger for Git-integrering.
- Opprett et nytt arbeidsområde, eller bruk et eksisterende Fabric-arbeidsområde.
- Opprett eller bruk en eksisterende SQL-database i Fabric. Hvis du ikke allerede har en, oppretter du en ny SQL-database i Fabric.
- Valgfritt: Installer Visual Studio Code, mssql-utvidelsen og SQL-prosjektutvidelsen for VS Code.
Oppsett
Denne repositoriumtilkoblingen gjelder på arbeidsområdenivå, slik at én enkelt gren i repositoriet er knyttet til arbeidsområdet. Repositoriet kan ha flere grener, men bare koden i grenen som er valgt i innstillingene for arbeidsområdet, vil påvirke arbeidsområdet direkte.
Hvis du vil ha en fremgangsmåte for å koble arbeidsområdet til et kildekontrollrepositorium, kan du se Komme i gang med Git-integrering. Arbeidsområdet kan kobles til et eksternt Azure DevOps- eller GitHub-repositorium.
Legg til Fabric SQL-databasen i kildekontrollen
I dette scenarioet skal du overføre databaseobjekter til kildekontroll. Det kan hende du utvikler et program der du oppretter objekter direkte i en testdatabase og sporer databasen i kildekontroll, akkurat som programkoden. Som et resultat har du tilgang til loggen over definisjonene av databaseobjektene og kan bruke Git-konsepter som forgrening og fletting for å tilpasse utviklingsprosessen ytterligere.
- Koble til SQL-databasen i Fabric SQL Editor, SQL Server Management Studio, mssql-utvidelsen med Visual Studio Code eller andre eksterne verktøy.
- Opprett en ny tabell, lagret prosedyre eller et annet objekt i databasen.
-
...
Velg menyen for databasen, og velg Oppdater git-synkroniseringsstatus. - Velg kildekontrollknappen for å åpne kildekontrollpanelet.
- Merk av for den ønskede databasen. Velg Utfør. Fabric-tjenesten leser objektdefinisjoner fra databasen og skriver dem til det eksterne repositoriet.
- Nå kan du vise loggen for databaseobjekter i kildevisning for koderepositorium.
Etter hvert som du fortsetter å redigere databasen, inkludert redigering av eksisterende objekter, kan du utføre disse endringene i kildekontrollen ved å følge de foregående trinnene.
Oppdater Fabric SQL-databasen fra kildekontrollen
I dette scenarioet skal du opprette databaseobjekter som kode i SQL-prosjektutvidelsen i VS Code, og deretter forplikte filene til kildekontrollen før du oppdaterer Fabric SQL-databasen fra kildekontrollintegreringen. Dette scenarioet er rettet mot utviklere som foretrekker å arbeide i VS Code, har eksisterende programmer som bruker SQL-prosjekter, eller har mer avanserte krav til CI/CD-datasamlebånd.
- Kontroller at du har installert den nyeste versjonen av VS Code og mssql- og SQL-prosjektutvidelsene for VS Code.
- Du bruker den integrerte git-kildekontrollen for VS Code.
- Opprett en ny SQL-database i arbeidsområdet, og utfør den til kildekontroll uten å legge til objekter. Dette trinnet legger til de tomme SQL-prosjekt- og SQL-databaseelementmetadataene i repositoriet.
- Klon kildekontrollrepositoriet til den lokale maskinen.
- Hvis du bruker Azure DevOps, velger du
...
hurtigmenyen for kildekontrollprosjektet. Velg Klone for å kopiere Azure DevOps-repositoriet til den lokale maskinen. Hvis du ikke har brukt Azure DevOps før, kan du se koden med git-veiledningen for Azure DevOps. - Hvis du bruker GitHub, velger du Kode-knappen i repositoriet og kopierer nettadressen for å klone repositoriet til den lokale maskinen. Hvis du ikke har brukt GitHub før, kan du se kloning av en veiledning for repositorium .
- Hvis du bruker Azure DevOps, velger du
- Åpne den klonede mappen i Visual Studio Code. Grenen som er knyttet til arbeidsområdet, er kanskje ikke standard. Du skal se en mappe med navnet
<yourdatabase>.SQLDatabase
VS Code etter at du har byttet gren. - Opprett en
.sql
fil for minst én tabell du vil opprette i databasen i mappestrukturen for databasen. Filen skal inneholde setningenCREATE TABLE
for tabellen. Du kan for eksempel opprette en fil med navnetMyTable.sql
i mappendbo/Tables
med følgende innhold:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) );
- For å sikre at syntaksen er gyldig, kan vi validere databasemodellen med SQL-prosjektet. Når du har lagt til filene, kan du bruke visningen Databaseprosjekter i VS Code til å bygge prosjektet.
- Etter et vellykket bygg, kan du forplikte filene til kildekontrollen med kildekontrollvisningen i VS Code eller det foretrukne lokale git-grensesnittet.
- Trykk/synkroniser utføringen til det eksterne repositoriet. Kontroller at de nye filene har dukket opp i Azure DevOps eller GitHub.
- Gå tilbake til Fabric-nettgrensesnittet, og åpne Kontrollpanel for kilde i arbeidsområdet. Det kan hende du allerede har et varsel om at «du har ventende endringer fra git».
Velg Oppdater (Oppdater alle) for å bruke koden fra SQL-prosjektet i databasen.
- Det kan hende at databasen umiddelbart angir at den er uforpliktende etter oppdateringen. Dette skyldes at Git-integreringsfunksjonen gjør en direkte sammenligning av alt filinnholdet som genereres for en elementdefinisjon, og noen utilsiktede forskjeller er mulig. Ett eksempel er innebygde attributter i kolonner. I slike tilfeller må du gå tilbake til kildekontrollen i fabric-nettgrensesnittet for å synkronisere definisjonen med det som genereres som en del av en utføringsoperasjon.
- Når oppdateringen er fullført, kan du bruke et verktøy du ønsker å koble til databasen. Objektene du har lagt til i SQL-prosjektet, er synlige i databasen.
Merk
Når du gjør endringer i det lokale SQL-prosjektet, vil databaseoppdateringen mislykkes hvis det er en syntaksfeil eller bruk av funksjoner som ikke støttes i Fabric. Du må tilbakestille endringen i kildekontrollen manuelt før du kan fortsette.
Oppdatering av en SQL-database i Fabric fra kildekontroll kombinerer en SQL-prosjektbygging og sqlpackage-publiseringsoperasjon. SQL-prosjektbygget validerer syntaksen for SQL-filene og genererer en .dacpac
fil. SqlPackage-publiseringsoperasjonen fastslo endringene som er nødvendige for å oppdatere databasen for å samsvare med .dacpac
-filen. På grunn av stoffgrensesnittets strømlinjeformede natur brukes følgende alternativer på sqlpackage-publiseringsoperasjonen:
/p:ScriptDatabaseOptions = false
/p:DoNotAlterReplicatedObjects = false
/p:IncludeTransactionalScripts = true
/p:GenerateSmartDefaults = true
Det kildestyrte SQL-prosjektet kan også klones til den lokale maskinen for redigering i VS Code, Visual Studio eller andre SQL-prosjektverktøy. SQL-prosjektet bør bygges lokalt for å validere endringer før du forplikter dem til kildekontroll.
Opprette et grenarbeidsområde
I dette scenarioet skal du konfigurere et nytt utviklingsmiljø i Fabric ved å la Fabric opprette et duplikatsett med ressurser basert på kildekontrolldefinisjonen. Den dupliserte databasen inkluderer databaseobjektene vi har sjekket inn i kildekontrollen. Dette scenarioet er rettet mot utviklere som fortsetter sin livssyklus for programutvikling i Fabric og bruker kildekontrollintegreringen fra Fabric.
- Fullfør scenarioet med å konvertere Fabric SQL-databasen til kode i kildekontrollen.
- Du bør ha en gren i et kildekontrollrepositorium med både et SQL-prosjekt og fabric-objektmetadataene.
- Åpne kildekontrollpanelet i Fabric-arbeidsområdet. Velg Gren ut til nytt arbeidsområde på Fanen Forgreninger på kildekontrollmenyen.
- Angi navnene på grenen og arbeidsområdet som skal opprettes. Grenen opprettes i kildekontrollrepositoriet og fylles ut med det forpliktende innholdet i grenen som er knyttet til arbeidsområdet du forgrener fra. Arbeidsområdet opprettes i Fabric.
- Gå til det nyopprettede arbeidsområdet i Fabric. Når opprettingen av databasen er fullført, inneholder den nyopprettede databasen nå objektene som er angitt i koderepositoriet. Hvis du åpner redigeringsprogrammet for stoffspørring og navigerer i Objektutforsker, har databasen nye (tomme) tabeller og andre objekter.
Slå sammen endringer fra én gren til en annen
I dette scenarioet bruker du kildekontrollrepositoriet til å se gjennom databaseendringer før de er tilgjengelige for distribusjon. Dette scenarioet er rettet mot utviklere som arbeider i et teammiljø og bruker kildekontroll til å administrere databaseendringene.
Opprett to arbeidsområder med tilknyttede grener i samme repositorium, som beskrevet i forrige scenario.
- Gjør endringer i databaseobjektene med databasen på den sekundære grenen.
- Du kan for eksempel endre en eksisterende lagret prosedyre eller opprette en ny tabell.
- Sjekk inn disse endringene i kildekontrollen med Utføring-knappen på kildekontrollpanelet i Fabric.
- I Azure DevOps eller GitHub oppretter du en pull-forespørsel fra den sekundære grenen til primærgrenen.
- I pull-forespørselen kan du se endringene i databasekoden mellom det primære arbeidsområdet og det sekundære arbeidsområdet.
- Når du har fullført pull-forespørselen, oppdateres kildekontrollen, men databasen i Fabric på det primære arbeidsområdet endres ikke. Hvis du vil endre den primære databasen, oppdaterer du det primære arbeidsområdet fra kildekontrollen ved hjelp av Oppdater-knappen på kildekontrollpanelet i Fabric.