Integrácia správy zdrojového kódu SQL databázy v Microsoft Fabric

Platí na: SQL databázu v Microsoft Fabric

V tomto tutoriáli sa naučíte, ako pracovať so svojou SQL databázou v Fabric pomocou Fabric integration git source control.

SQL databáza v Microsoft Fabric má integráciu správy zdrojového kódu, tzv. "git integráciu", takže používatelia môžu sledovať definície svojich databázových objektov v čase. Táto integrácia umožňuje tímu:

  • Commitujte databázu do správy zdrojového kódu, ktorá automaticky konvertuje živú databázu na kód v konfigurovanom repozitári správy zdrojového kódu (napríklad Azure DevOps).
  • Aktualizujte objekty databázy z obsahu správy zdrojového kódu, ktorý pred použitím diferenciálnej zmeny v databáze overuje kód v odkladacom priestore zdrojovej správy.

Diagram jednoduchého cyklu potvrdenia a aktualizácie medzi ovládacím prvkom dynamickej databázy a zdroja.

Ak nepoznáte systém git, tu je niekoľko odporúčaných zdrojov:

Tento článok predstavuje sériu užitočných scenárov, ktoré môžete použiť individuálne alebo v kombinácii na riadenie vývojového procesu pomocou SQL databázy vo Fabric:

Scenáre v tomto článku sú popísané v epizóde o vystavení údajov. Pozrite si video s prehľadom integrácie zdrojového ovládacieho prvku v službe Fabric:

Poznámka

Nastavenia na úrovni databázy, ako je kolácia a úroveň kompatibility, zatiaľ nie sú zahrnuté v integrácii správy zdrojového kódu a nasadzovacích pipeline. Pre nastavenia databázy, ktoré môžete nastaviť pomocou T-SQL po vytvorení databázy, môžete databázu po nasadení upravovať skriptmi.

Požiadavky

Inštalácia

Toto pripojenie k odkladaciemu priestoru sa vzťahuje na úrovni pracovného priestoru, aby bola k tomuto pracovnému priestoru priradená jedna vetva v odkladacom priestore. Repozitár môže mať viacero vetiev, ale iba kód v vetve vybranej v nastaveniach pracovného priestoru priamo ovplyvňuje pracovný priestor.

Kroky na pripojenie pracovného priestoru k odkladaciemu priestoru zdrojového ovládacieho prvku nájdete v téme Začíname s integráciou Git. Váš pracovný priestor môžete pripojiť k vzdialenému repozitáru Azure DevOps alebo GitHub.

Pridanie databázy Fabric SQL do ovládacieho prvku source

V tomto scenári commitujete databázové objekty do správy zdrojového kódu. Možno vyvíjate aplikáciu, v ktorej vytvárate objekty priamo v testovacej databáze a sledujete ju v zdrojovej kontrole, rovnako ako kód aplikácie. Vďaka tomu máte prístup k histórii definícií databázových objektov a môžete použiť Git koncepty ako vetvenie a zlučovanie na prispôsobenie vývojového procesu.

  1. Pripojte sa k svojej SQL databáze v Fabric SQL editore SQL Server Management Studio, MSSQL rozšírení pre Visual Studio Code alebo iných externých nástrojoch.
  2. Vytvorte novú tabuľku, uloženú procedúru alebo iný objekt v databáze.
  3. Výberom tlačidla Ovládací prvok Zdroj otvorte ovládací panel zdroja.
  4. Začiarknite políčko vedľa požadovanej databázy. Vyberte položku Potvrdiť. Služba Fabric prečíta definície objektov z databázy a zapíše ich do vzdialeného odkladacieho priestoru.
  5. Teraz môžete zobraziť históriu objektov databázy v zobrazení zdroja kódu.

Ako budete pokračovať v úpravách databázy, vrátane úprav existujúcich objektov, zanechajte tieto zmeny do správy zdrojového kódu podľa predchádzajúcich krokov.

SQL projektový súbor

SQL projektový súbor v repozitári správy zdrojového kódu obsahuje metadáta o databáze. Integrácia správy zdrojového kódu vo fabrice využíva tento súbor na priniesenie väčšej funkcionality do zdrojových reťazcov a nasadzovacích pipeline. Integrácia správy zdrojového kódu vo fabrice automaticky generuje a aktualizuje projektový súbor. Vyhnite sa manuálnym úpravám projektového súboru, pretože vaše úpravy sú prepísané integráciou Fabric source control pri ďalšom commite z Fabric. Ak však chcete vytvoriť SQL projekt lokálne pomocou SQL nástrojov, ako je SQL Server Management Studio alebo rozšírenie SQL projects pre Visual Studio Code, môžete pridať odkaz na master.dacpac súbor vo vašom projektovom súbore.

Integrácia Fabric so SQL projektmi pridáva tieto vlastnosti metadát do súboru projektu:

Schopnosť referencií na systémové objekty sa nastavuje automaticky bez potreby akcie. Editor dotazov Fabric poskytuje skripty pred a po nasadení v priečinku Shared Queries .

Aktualizácia databázy Fabric SQL zo zdrojového ovládacieho prvku

V tomto scenári vytvoríte databázové objekty ako kód v SQL projektovom rozšírení vo Visual Studio Code, potom súbory commitujete do source control pred aktualizáciou Fabric SQL databázy z integrácie source control. Tento scenár je určený vývojárom, ktorí uprednostňujú prácu vo Visual Studio Code, majú existujúce aplikácie využívajúce SQL projekty alebo majú pokročilejšie požiadavky na CI/CD pipeline.

  1. Uistite sa, že ste nainštalovali najnovšiu verziu Visual Studio Code a rozšírenia MSSQL a SQL pre Visual Studio Code.
  2. Vytvorte vo svojom pracovnom priestore novú databázu SQL a zaviazajte ju k ovládaciemu prvku zdroja bez toho, aby ste museli pridávať objekty. Tento krok pridá do odkladacieho priestoru prázdne metaúdaje projektu SQL a položky databázy SQL.
  3. Naklonujte odkladací priestor zdrojového ovládacieho prvku na lokálny počítač.
    • Ak používate Azure DevOps, vyberte ... kontextové menu pre projekt správy zdrojového kódu. Vyberte Clone a skopírujete svoj Azure DevOps repozitár na svoj lokálny počítač. Ak ste v Azure DevOps nováčik, pozrite si Azure DevOps sprievodcu Code s git.
    • Ak používate GitHub, vyberte v repozitári tlačidlo Code a skopírujte URL na klonovanie repozitára na váš lokálny počítač. Ak ste v GitHub nováčik, pozrite si návod cloning a repository.
  4. Otvorte klonovaný priečinok vo Visual Studio Code. Vetva priradená k vášmu pracovnému priestoru možno nie je predvolená. Po zmene vetvy by ste mali vidieť priečinok pomenovaný <yourdatabase>.SQLDatabase vo Visual Studio Code.
  5. Vytvor .sql súbor aspoň pre jednu tabuľku, ktorú chceš vytvoriť v databáze, v rámci štruktúry priečinkov pre tvoju databázu. Súbor by mal obsahovať CREATE TABLE príkaz pre tabuľku. Vytvorte napríklad súbor s názvom MyTable.sql v priečinku dbo/Tables s nasledujúcim obsahom:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. Aby ste sa uistili, že syntax je platná, overte databázový model pomocou SQL projektu. Po pridaní súborov použite zobrazenie Databázové projekty vo Visual Studio Code na zostavenie projektu.
  7. Po úspešnom zostavení commitujte súbory do správy zdrojového kódu pomocou zobrazenia správy zdrojového kódu vo Visual Studio Code alebo vo vašom preferovanom lokálnom git rozhraní.
  8. Presunutie/synchronizácia potvrdenia vo vzdialenom odkladacom priestore. Skontrolujte, či sa vaše nové súbory zobrazujú v Azure DevOps alebo GitHub.
  9. Vráťte sa do webového rozhrania služby Fabric a otvorte v pracovnom priestore ovládací panel Zdroj. Je možné, že už máte upozornenie "čakáte na zmeny zo služby git". Vyberte tlačidlo Aktualizovať (Aktualizovať všetko) a použite kód z projektu SQL v databáze.
    • Databázu môže po aktualizácii ihneď vidieť pod názvom "Uncommitted". Tento stav vzniká, pretože funkcia Git Integration priamo porovnáva všetok obsah súboru generovaný pre definíciu položky a niektoré neúmyselné rozdiely sú možné. Jedným z príkladov sú vložené atribúty v stĺpcoch. V týchto prípadoch je potrebné vrátiť sa späť do správy zdrojového kódu vo webovom rozhraní Fabric, aby ste zosynchronizovali definíciu s tým, čo sa generuje ako súčasť operácie commit.
  10. Po dokončení aktualizácie použite nástroj podľa vlastného výberu na pripojenie k databáze. Objekty, ktoré ste pridali do SQL projektu, sú viditeľné v databáze.

Poznámka

Keď urobíte zmeny v lokálnom SQL projekte, ak dôjde k chybe syntaxe alebo použitiu nepodporovaných funkcií vo Fabrice, aktualizácia databázy zlyhá. Kým budete môcť pokračovať, musíte zmenu v ovládaní zdroja vrátiť manuálne.

Aktualizácia databázy SQL v službe Fabric zo zdrojového ovládacieho prvku kombinuje kompilovanie projektu SQL a operáciu publikovania v sqlpackage. Projekt SQL projekt overí syntax súborov SQL a vygeneruje súbor .dacpac. Operácia publikovania v SqlPackage určuje potrebné zmeny na aktualizáciu databázy tak, aby zodpovedala súboru .dacpac . Z dôvodu zjednodušeného charakteru rozhrania služby Fabric sa na operáciu publikovania sqlPackage použijú nasledujúce možnosti:

  • /p:ScriptDatabaseOptions = false
  • /p:DoNotAlterReplicatedObjects = false
  • /p:IncludeTransactionalScripts = true
  • /p:GenerateSmartDefaults = true

Môžete tiež klonovať zdrojovo riadený SQL projekt na svoj lokálny počítač na úpravu vo Visual Studio Code, SQL Server Management Studio alebo iných nástrojoch pre SQL projekty. Postavte SQL projekt lokálne, aby ste overili zmeny predtým, než ich zaviažete do správy zdrojového kódu.

Vytvorenie pracovného priestoru vetvy

V tomto scenári nastavíte nové vývojové prostredie v Fabric tak, že Fabric vytvorí duplicitnú sadu zdrojov na základe definície správy kódu. Duplicitná databáza obsahuje databázové objekty, ktoré ste zaregistrovali do správy zdrojového kódu. Tento scenár je určený pre vývojárov, ktorí pokračujú vo vývoji aplikácií v Fabric a využívajú integráciu správy zdrojového kódu z Fabric.

  1. Dokončite scenár a skonvertujte databázu SQL fabric na kód v ovládaní zdroja.
    • Mali by ste mať vetvu v odkladacom priestore zdrojovej kontroly s projektom SQL aj metaúdajmi objektu fabric.
  2. V pracovnom priestore služby Fabric otvorte ovládací panel zdroja. Na karte Vetvy v ponuke Ovládací prvok Zdroj vyberte položku Vetviť do nového pracovného priestoru.
  3. Špecifikujte názvy vetvy a pracovného priestoru na vytvorenie. Vetva sa vytvorí v repozitári správy zdrojového kódu a je naplnená potvrdeným obsahom vetvy priradenej k pracovnému priestoru, z ktorého vetvíte. Pracovný priestor je vytvorený v Fabric.
  4. Prejdite do novo vytvoreného pracovného priestoru v Fabric. Po dokončení vytvárania databázy novovytvorená databáza teraz obsahuje objekty zadané v odkladacom priestore kódu. Ak otvoríte editor dotazov služby Fabric a prejdete v časti Prieskumník objektov, databáza obsahuje nové (prázdne) tabuľky a ďalšie objekty.

Zlúčenie zmien z jednej vetvy do druhej

V tomto prípade používate repozitár správy zdrojov na kontrolu zmien v databáze predtým, než sú dostupné na nasadenie. Tento scenár je určený pre vývojárov, ktorí pracujú v tímovom prostredí a používajú správu zdrojového kódu na správu zmien v databáze.

Vytvorte dva pracovné priestory s priradenými vetvami v tom istom odkladacom priestore, ako je to popísané v predchádzajúcom scenári.

  1. Keď je databáza na druhej vetve, vykonávať zmeny v objektoch databázy.
    • Môžete napríklad upraviť existujúcu uloženú procedúru alebo vytvoriť novú tabuľku.
  2. Tieto zmeny vo source control skontrolujte pomocou tlačidla Commit na paneli správy zdrojového kódu v Fabric.
  3. V Azure DevOps alebo GitHub vytvorte pull request zo sekundárnej vetvy na primárnu vetvu.
    • V žiadosti o prijatie zmien môžete vidieť zmeny v kóde databázy medzi primárnym pracovným priestorom a sekundárnym pracovným priestorom.
  4. Po dokončení žiadosti o prijatie zmien sa aktualizuje ovládací prvok zdroja, ale databáza v službe Fabric v primárnom pracovnom priestore sa nezmení. Ak chcete zmeniť primárnu databázu, aktualizujte primárny pracovný priestor z ovládacieho prvku zdroja pomocou tlačidla Aktualizovať na paneli ovládacieho prvku zdroja v službe Fabric.

Spravujte statické dáta pomocou skriptu po nasadení

V tomto scenári riadky v tabuľke vyhľadávania vo vašej databáze ovládate pomocou správy zdrojového kódu. Schopnosť, ktorá umožňuje túto funkcionalitu, pred-nasadovacie a po-nasadené skripty, platí aj pre nasadzovacie pipeline, takže môžete použiť tie isté skripty na správu statických dát v oboch scenároch.

  1. Z SQL databázy vo Fabric, ktorá je prepojená so zdrojovým kódom, identifikujte alebo vytvorte tabuľku, pre ktorú chcete spravovať statické dáta. Napríklad môžete mať tabuľku dbo.Colors , ktorú používa vaša aplikácia a ktorá má známu sadu hodnôt, ktoré sa často nemenia.

  2. Vytvorte nový dotaz v SQL databázovom editore vo Fabric. V editore dotazov pridajte MERGE príkaz na správu obsahu tabuľky Colors . Príklad:

    MERGE dbo.Colors AS target
    USING (VALUES
        (1, 'Red'),
        (2, 'Green'),
        (3, 'Blue')
    ) AS source (Id, Name)
    ON target.Id = source.Id
    WHEN MATCHED THEN
        UPDATE SET Name = source.Name
    WHEN NOT MATCHED BY TARGET THEN
        INSERT (Id, Name) VALUES (source.Id, source.Name)
    WHEN NOT MATCHED BY SOURCE THEN
        DELETE;
    
  3. Premenujte dotaz na Post-Deployment-StaticData.sqlZdieľané dotazy a presuňte ho na Zdieľané dotazy.

  4. Keď ste v Zdieľaných dotazoch, vyberte menu ... pre dotaz a vyberte Nastaviť ako Post-deployment Script.

Tento dotaz sa automaticky spustí ako súčasť každej aktualizácie zo správy zdrojového kódu alebo nasadenia nasadzovacieho pipeline, takže môžete spravovať statické dáta v tabuľke Colors pomocou správy zdrojového kódu. Dotaz môžete upravovať v editore dotazov Fabric a commitovať zmeny do správy zdrojového kódu, aby ste spravovali zmeny statických dát v čase. Navyše, keďže v SQL projekte sú zahrnuté skripty pred a po nasadení, môžete tiež upraviť dotaz z lokálneho počítača pomocou Visual Studio Code alebo iných SQL projektových nástrojov a potom tieto zmeny commitovať do správy zdrojového kódu. Viac o skriptoch pred a po nasadení sa dozviete v dokumentácii k SQL projektom.