Condividi tramite


Integrazione del controllo del codice sorgente del database SQL in Microsoft Fabric

Si applica a:Database SQL in Microsoft Fabric

Questa esercitazione illustra come usare il database SQL in Fabric con il controllo del codice sorgente di integrazione Git di Fabric.

Un database SQL in Microsoft Fabric include l'integrazione del controllo del codice sorgente o "integrazione git", consentendo agli utenti SQL di tenere traccia delle definizioni degli oggetti di database nel tempo. Questa integrazione consente a un team di:

  • Eseguire il commit del database nel controllo del codice sorgente, che converte automaticamente il database attivo nel codice nel repository di controllo del codice sorgente configurato, ad esempio Azure DevOps.
  • Aggiornare gli oggetti di database dal contenuto del controllo del codice sorgente, che convalida il codice nel repository del controllo del codice sorgente prima di applicare una modifica differenziale al database.

Diagramma del ciclo di commit e aggiornamento semplice tra il database attivo e il controllo del codice sorgente.

Se non si ha familiarità con Git, ecco alcune risorse consigliate:

Questo articolo presenta una serie di scenari utili che possono essere usati singolarmente o in combinazione per gestire il processo di sviluppo con il database SQL in Fabric:

Gli scenari in questo articolo sono trattati in un episodio di Data Exposed. Guardare il video per una panoramica dell'integrazione del controllo del codice sorgente in Fabric:

Prerequisiti

Attrezzaggio

Questa connessione al repository si applica a livello di area di lavoro, in modo che un singolo ramo nel repository sia associato a tale area di lavoro. Il repository può avere più rami, ma solo il codice nel ramo selezionato nelle impostazioni dell'area di lavoro influirà direttamente sull'area di lavoro.

Per la procedura per connettere l'area di lavoro a un repository di controllo del codice sorgente, vedere Introduzione all'integrazione con Git. L'area di lavoro può essere connessa a un repository remoto di Azure DevOps o GitHub.

Aggiungere il database SQL dell'infrastruttura al controllo del codice sorgente

In questo scenario si eseguirà il commit degli oggetti di database nel controllo del codice sorgente. È possibile sviluppare un'applicazione in cui si creano oggetti direttamente in un database di test e tenere traccia del database nel controllo del codice sorgente esattamente come il codice dell'applicazione. Di conseguenza, si ha accesso alla cronologia delle definizioni degli oggetti di database e si possono usare concetti Git come la diramazione e l'unione per personalizzare ulteriormente il processo di sviluppo.

  1. Connettersi al database SQL nell'editor SQL dell'infrastruttura, IN SQL Server Management Studio, nell'estensione mssql con Visual Studio Code o in altri strumenti esterni.
  2. Creare una nuova tabella, una stored procedure o un altro oggetto nel database.
  3. Selezionare il ... menu per il database, selezionare Aggiorna stato di sincronizzazione Git.
  4. Selezionare il pulsante Controllo del codice sorgente per aprire il pannello di controllo del codice sorgente.
  5. Selezionare la casella di controllo accanto al database desiderato. Selezionare Commit. Il servizio Fabric legge le definizioni degli oggetti dal database e le scrive nel repository remoto.
  6. È ora possibile visualizzare la cronologia degli oggetti di database nella vista origine del repository del codice.

Quando si continua a modificare il database, inclusa la modifica di oggetti esistenti, è possibile eseguire il commit di tali modifiche nel controllo del codice sorgente seguendo i passaggi precedenti.

Aggiornare il database SQL dell'infrastruttura dal controllo del codice sorgente

In questo scenario si creeranno oggetti di database come codice nell'estensione dei progetti SQL in VS Code, quindi si eseguirà il commit dei file nel controllo del codice sorgente prima di aggiornare il database SQL di Fabric dall'integrazione del controllo del codice sorgente. Questo scenario è destinato agli sviluppatori che preferiscono lavorare in VS Code, hanno applicazioni esistenti che usano progetti SQL o hanno requisiti di pipeline CI/CD più avanzati.

  1. Assicurarsi di aver installato la versione più recente di VS Code e le estensioni di progetti mssql e SQL per VS Code.
  2. Creare un nuovo database SQL nell'area di lavoro ed eseguirne il commit nel controllo del codice sorgente senza aggiungere oggetti. Questo passaggio aggiunge i metadati vuoti del progetto SQL e dell'elemento del database SQL al repository.
  3. Clonare il repository del controllo del codice sorgente nel computer locale.
    • Se si usa Azure DevOps, selezionare il ... menu di scelta rapida per il progetto di controllo del codice sorgente. Selezionare Clona per copiare il repository Azure DevOps nel computer locale. Se non si ha familiarità con Azure DevOps, vedere la guida code with git for Azure DevOps (Codice con git per Azure DevOps).
    • Se si usa GitHub, selezionare il pulsante Codice nel repository e copiare l'URL per clonare il repository nel computer locale. Se non si ha familiarità con GitHub, vedere la guida alla clonazione di un repository .
  4. Aprire la cartella clonata in Visual Studio Code. Il ramo associato all'area di lavoro potrebbe non essere l'impostazione predefinita. Dopo aver cambiato il ramo, verrà visualizzata una cartella denominata <yourdatabase>.SQLDatabase in VS Code.
  5. Creare un .sql file per almeno una tabella da creare nel database all'interno della struttura di cartelle per il database. Il file deve contenere l'istruzione CREATE TABLE per la tabella. Ad esempio, creare un file denominato MyTable.sql nella cartella dbo/Tables con il contenuto seguente:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. Per assicurarsi che la sintassi sia valida, è possibile convalidare il modello di database con il progetto SQL. Dopo aver aggiunto i file, usare la visualizzazione Progetti di database in VS Code per compilare il progetto.
  7. Dopo aver completato la compilazione, eseguire il commit dei file nel controllo del codice sorgente con la visualizzazione del controllo del codice sorgente in VS Code o l'interfaccia Git locale preferita.
  8. Eseguire il push/sincronizzazione del commit nel repository remoto. Verificare che i nuovi file siano stati visualizzati in Azure DevOps o GitHub.
  9. Tornare all'interfaccia Web fabric e aprire il pannello di controllo Del codice sorgente nell'area di lavoro. Potrebbe essere già disponibile un avviso che indica che sono state apportate modifiche in sospeso da Git. Selezionare il pulsante Aggiorna (Aggiorna tutto) per applicare il codice dal progetto SQL al database.
    • Il database potrebbe indicare immediatamente che è "Non eseguito il commit" dopo l'aggiornamento. Ciò è dovuto al fatto che la funzionalità di integrazione Git esegue un confronto diretto di tutto il contenuto del file generato per una definizione di elemento e alcune differenze involontarie sono possibili. Un esempio è costituito da attributi inline sulle colonne. In questi casi, è necessario eseguire il commit nel controllo del codice sorgente nell'interfaccia Web di Fabric per sincronizzare la definizione con ciò che viene generato come parte di un'operazione di commit.
  10. Al termine dell'aggiornamento, usare uno strumento di propria scelta per connettersi al database. Oggetti aggiunti al progetto SQL visibile nel database.

Nota

Quando si apportano modifiche al progetto SQL locale, se si verifica un errore di sintassi o l'uso di funzionalità non supportate in Fabric, l'aggiornamento del database avrà esito negativo. È necessario ripristinare manualmente la modifica nel controllo del codice sorgente prima di poter continuare.

Creare un'area di lavoro del ramo

In questo scenario si configurerà un nuovo ambiente di sviluppo in Fabric facendo in modo che Fabric crei un set duplicato di risorse in base alla definizione del controllo del codice sorgente. Il database duplicato includerà gli oggetti di database archiviati nel controllo del codice sorgente. Questo scenario è destinato agli sviluppatori che continuano il ciclo di vita di sviluppo delle applicazioni in Fabric e usano l'integrazione del controllo del codice sorgente da Fabric.

  1. Completare lo scenario per convertire il database SQL dell'infrastruttura nel codice nel controllo del codice sorgente.
    • È necessario disporre di un ramo in un repository di controllo del codice sorgente con sia un progetto SQL che i metadati dell'oggetto Fabric.
  2. Nell'area di lavoro Infrastruttura aprire il pannello di controllo del codice sorgente. Nella scheda Rami del menu Controllo del codice sorgente selezionare Branch out to new workspace (Branch out to new workspace).
  3. Specificare i nomi del ramo e dell'area di lavoro che verranno creati. Il ramo verrà creato nel repository del controllo del codice sorgente e viene popolato con il contenuto di cui è stato eseguito il commit del ramo associato all'area di lavoro da cui si esegue la diramazione. L'area di lavoro verrà creata in Fabric.
  4. Passare all'area di lavoro appena creata in Infrastruttura. Al termine della creazione del database, il database appena creato contiene gli oggetti specificati nel repository di codice. Se si apre l'editor di query di Fabric e si passa a Esplora oggetti, il database include nuove tabelle (vuote) e altri oggetti.

Unire le modifiche da un ramo a un altro

In questo scenario si userà il repository del controllo del codice sorgente per esaminare le modifiche del database prima che siano disponibili per la distribuzione. Questo scenario è destinato agli sviluppatori che lavorano in un ambiente del team e usano il controllo del codice sorgente per gestire le modifiche del database.

Creare due aree di lavoro con rami associati nello stesso repository, come descritto nello scenario precedente.

  1. Con il database nel ramo secondario, apportare modifiche agli oggetti di database.
    • Ad esempio, modificare una stored procedure esistente o creare una nuova tabella.
  2. Controllare queste modifiche al controllo del codice sorgente con il pulsante Commit nel pannello di controllo del codice sorgente in Fabric.
  3. In Azure DevOps o GitHub creare una richiesta pull dal ramo secondario al ramo primario.
    • Nella richiesta pull è possibile visualizzare le modifiche nel codice del database tra l'area di lavoro primaria e l'area di lavoro secondaria.
  4. Dopo aver completato la richiesta pull, il controllo del codice sorgente viene aggiornato, ma il database in Fabric nell'area di lavoro primaria non viene modificato. Per modificare il database primario, aggiornare l'area di lavoro primaria dal controllo del codice sorgente usando il pulsante Aggiorna nel pannello di controllo del codice sorgente in Fabric.