Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-adatbázis a Microsoft Fabric rendszerben
Az adatbázisséma Gitben való tárolása számos előnnyel jár, beleértve a verziókövetést, az együttműködést és a változások időbeli nyomon követését. Ez a megközelítés különösen akkor hasznos, ha kódon keresztül definiálja az adatbázissémát, és a módosításokat közvetlenül egy fejlesztési környezetben alkalmazza egy ORM- vagy kódolási ügynök, például a GitHub Copilot használatával.
Ebben az oktatóanyagban megtudhatja, hogyan tárolhatja az adatbázissémát a Gitben, és hogyan kezelheti azt a fejlesztési munkafolyamat részeként.
- Új SQL-projekt létrehozása meglévő adatbázisból
- Az adatbázis kódjának véglegesítése és leküldése egy Git-távoli adattárba
- Az adatbázis módosításainak alkalmazása a meglévő kódra
- A Git távoli adattár módosításainak lekérése és alkalmazása a helyi adatbázisra (nem kötelező)
Amikor végzett, készen áll arra, hogy nyomon kövesse az adatbázist a forráskontrollban, és együttműködjön a csapatával az adatbázis-módosításokon egy Git-adattáron keresztül.
Note
Az oktatóanyag elvégzéséhez hozzá kell férnie egy SQL-adatbázishoz. Helyileg ingyenesen fejleszthet SQL Server fejlesztői kiadással Windows vagy tárolókban.
Prerequisites
Warning
Ez az oktatóanyag nem érhető el az SDK-stílusú projektekhez (előzetes verzió) a 2022-Visual Studio. Ehelyett SQL Server Management Studio (SSMS) vagy Visual Studio Code használjon.
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
1. lépés: Új SQL-projekt létrehozása meglévő adatbázisból
Az adatbázis forrásvezérlőben való megjelenítéséhez használja az SQL Database projektformátumát . A projekt minden adatbázis-objektumhoz tartalmaz .sql fájlokat, valamint egy .sqlproj adatbázis-beállításokat tartalmazó fájlt. Amikor a projektet a fájlkezelőben és a forrásvezérlőben tekinti meg, az SQL-projekt struktúrája tükrözi az adatbázist az objektumkezelőben.
A SQL Server Object Explorer Visual Studio területén kattintson a jobb gombbal arra az adatbázisra, amelyből létre szeretne hozni egy project, és válassza az Új Project létrehozása... .
Az
Az Adatbázis importálása párbeszédpanel üzenetként jeleníti meg az importálási folyamatot. Amikor az importálás befejeződik, az importált objektumok megjelennek a Megoldáskezelő. A folyamat a naplókat egy fájlban tárolja a projektkönyvtárban a következő alatt Import Schema Logs: . Válassza ki a Befejezésopciót.
Warning
Ez az oktatóanyag nem érhető el az SDK-stílusú projektekhez (előzetes verzió) a 2022-Visual Studio. Ehelyett SQL Server Management Studio (SSMS) vagy Visual Studio Code használjon.
A Visual Studio Code adatbázis-objektumkezelő nézetében válasszon ki egy adatbázist, amelyből projektet szeretne létrehozni. Kattintson a jobb gombbal az adatbázisra, és válassza a Projekt létrehozása adatbázisbóllehetőséget.
A Visual Studio Code Projekt létrehozása adatbázisból párbeszédpanelen a projekt nevének és helyének megadása szükséges. Az alapértelmezett importálási beállítások séma alapján importálják az objektumokat mappákba, majd az objektum típusát. A Létrehozás lehetőség kiválasztása előtt választhat egy másik mappastruktúrát, vagy dönthet úgy, hogy az importálandó objektumokhoz engedélyeket is belefoglal.
Nyissa meg az Adatbázisprojektek nézetet az új projekt és az importált objektumdefiníciók megtekintéséhez.
A SQL Server Management Studio Object Explorer kattintson a jobb gombbal arra az adatbázisra, amelyből project szeretne létrehozni, és válassza a Project létrehozása adatbázisból... lehetőséget a Feladatok menüben.
Az SQL-Project létrehozása az adatbázisból párbeszédpanelen ellenőrizze a kijelölt adatbázist, és szükség szerint módosítsa a project nevét és helyét. Az új projekt a kijelölt adatbázis objektumaival jön létre, és sémák szerint mappákba, majd objektumtípusba rendezve jön létre.
A rendszer automatikusan létrehoz egy megoldásfájlt a projektmappa feletti mappában, és a létrehozás után megnyílik a Megoldáskezelő. Ha egy meglévő megoldáshoz szeretné hozzáadni az új projektet, válassza a Hozzáadás a megoldáshoz lehetőséget, és keresse meg a megoldásfájlt. Válassza a Create lehetőséget a projekt létrehozásához.
Az SqlPackage parancssori felülettel kinyerhet egy meglévő adatbázis sémáját egy SQL-projektbe. Az alábbi SqlPackage parancs kinyeri egy adatbázis sémáját egy teljes SQL-projektbe. A .sql fájlok beágyazott séma- és objektumtípus-mappák szerint vannak rendszerezve, és létrejön egy .sqlproj fájl a projekt kezeléséhez az adatbázis beállításainak megfelelő tulajdonságokkal.
sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SqlProject
2. lépés: Az adatbáziskód véglegesítése és leküldése egy Git-távoli adattárba
Az SQL-projekt létrehozása után indítsa el az adatbázis Git-ütemtervét egy helyi Git-adattárban.
Ha az SQL-projekt meg van nyitva a Visual Studióban, hozzon létre egy helyi Git-adattárat, majd töltse fel egy távoli adattárba.
Válassza a Git>Create Git-adattárat a menüsávon.
A Git-adattár létrehozása párbeszédpanelen, a Küldés új távoli tárolóba szakaszban válassza a GitHub vagy az Azure DevOps lehetőséget. Ha úgy dönt, hogy a módosításokat a GitHubra küldi, jelentkezzen be a GitHub-fiókjába, amikor erre felszólítják. Ha Azure DevOps választ, jelentkezzen be Azure DevOps fiókjába, és válasszon vagy hozzon létre egy projektet.
Adja meg az adattár nevét és leírását. Győződjön meg arról, hogy a .gitignore sablonVisualStudio értékre van állítva, és válassza a Létrehozás és leküldés lehetőséget.
Visual Studio létrehozza a helyi Git-adattárat, létrehoz egy kezdeti véglegesítést az SQL-projektfájlokkal, és leküldi azt a távolira.
A kód sikeres leküldésének ellenőrzéséhez nyisson meg egy böngészőt, és keresse meg az adattárat GitHub (https://github.com) vagy Azure DevOps (https://dev.azure.com). Látnia kell az SQL-projektfájlokat, beleértve a .sqlproj fájlt és az .sql objektumdefiníciókat.
További információt a Gitről a Visual Studio című témakörben talál.
Warning
Ez az oktatóanyag nem érhető el az SDK-stílusú projektekhez (előzetes verzió) a 2022-Visual Studio. Ehelyett SQL Server Management Studio (SSMS) vagy Visual Studio Code használjon.
Miután megnyitotta az SQL-projektmappát a Visual Studio Code-ban, inicializáljon egy helyi Git-tárházat, majd küldje fel egy távoli tárházba.
Nyissa meg a Forrásvezérlő nézetet a Tevékenységsáv Forrásvezérlő ikonjának kiválasztásával, vagy nyomja le a billentyűt
Ctrl+Shift+G.Válassza az Inicializálási adattár lehetőséget egy új Git-adattár létrehozásához az aktuális mappában.
Az összes projektfájl nyomon nem követett módosításként jelenik meg. Válassza a + melletti ikont az összes fájl előkészítéséhez.
Adjon meg egy véglegesítési üzenetet, például
Initial commit of SQL projectaz üzenet beviteli mezőjében, és válassza a Véglegesítés gombot (pipa ikon).A Forráskezelés nézetben válassza a Publish Branch lehetőséget a helyi adattár távoli adattárba való feltöltéséhez. Válassza ki, hogy a közzététel a GitHubra vagy az Azure DevOpsba történjen, majd kövesse a bejelentkezési utasításokat. Válasszon egy adattár láthatóságát (nyilvános vagy privát), és erősítse meg.
A kód sikeres leküldésének ellenőrzéséhez nyisson meg egy böngészőt, és keresse meg az adattárat GitHub (https://github.com) vagy Azure DevOps (https://dev.azure.com). Látnia kell az SQL-projektfájlokat, beleértve a .sqlproj fájlt és az .sql objektumdefiníciókat.
További információért lásd: Verziókövetés a Visual Studio Code-ban.
Miután megnyitotta az SQL-projektet az SQL Server Management Studio-ban, hozzon létre egy helyi Git-adattárat, majd küldje fel egy távoli adattárba.
Válassza a Git>Create Git-adattárat a menüsávon.
A Git-adattár létrehozása párbeszédpanelen, a Küldés új távoli tárolóba szakaszban válassza a GitHub vagy az Azure DevOps lehetőséget. Ha úgy dönt, hogy a módosításokat a GitHubra küldi, jelentkezzen be a GitHub-fiókjába, amikor erre felszólítják. Ha Azure DevOps választ, jelentkezzen be Azure DevOps fiókjába, és válasszon vagy hozzon létre egy projektet.
Adja meg az adattár nevét és leírását. Győződjön meg arról, hogy a .gitignore sablonVisualStudio értékre van állítva, és válassza a Létrehozás és leküldés lehetőséget.
Az SSMS létrehozza a helyi Git-adattárat, létrehoz egy kezdeti véglegesítést az SQL-projektfájlokkal, és leküldi azt a távolira.
A kód sikeres leküldésének ellenőrzéséhez nyisson meg egy böngészőt, és keresse meg az adattárat GitHub (https://github.com) vagy Azure DevOps (https://dev.azure.com). Látnia kell az SQL-projektfájlokat, beleértve a .sqlproj fájlt és az .sql objektumdefiníciókat.
További információt a Gitről a Visual Studio című témakörben talál.
Az SQL-projekt könyvtárából inicializáljon egy helyi Git-adattárat, véglegesítse az összes fájlt, és küldjön le egy távoli fájlt.
Inicializáljon egy új Git-adattárat, adjon hozzá egy
.gitignorefájlt, és hozzon létre egy kezdeti véglegesítést:cd MyDatabaseProject git init dotnet new gitignore git add . git commit -m "Initial commit of SQL project"Hozzon létre egy új távoli adattárat GitHub vagy Azure DevOps:
-
GitHub: Nyissa meg https://github.com/new és hozzon létre egy új adattárat. Ne inicializálja azt README-vel,
.gitignore-val vagy licenccel. - Azure DevOps: Nyissa meg a Azure DevOps projektet, válassza ki a Repos, és hozzon létre egy új adattárat. Törölje a jelölést a README hozzáadása jelölőnégyzetből.
-
GitHub: Nyissa meg https://github.com/new és hozzon létre egy új adattárat. Ne inicializálja azt README-vel,
Adja hozzá a távolit, és küldje le a kezdeti véglegesítést:
git remote add origin <your-repository-url> git push -u origin mainCserélje le
<your-repository-url>a GitHub vagy Azure DevOps által az adattár létrehozásakor megadott URL-címre.
A kód sikeres leküldésének ellenőrzéséhez nyisson meg egy böngészőt, és nyissa meg az adattárat. Látnia kell az SQL-projektfájlokat, beleértve a .sqlproj fájlt és az .sql objektumdefiníciókat.
3. lépés: Az adatbázis módosításainak alkalmazása a meglévő kódra
Ha az adatbázisséma az SQL-projekten kívül változik (például egy adatbázis közvetlen módosítása, ORM-migrálás vagy ügynöki műveletek révén), frissítheti a projektet, hogy tükrözze ezeket a változásokat.
Használja a séma-összehasonlítást az SQL-projekt adatbázis alapján történő frissítéséhez.
A SQL Server Object Explorer kattintson a jobb gombbal az adatbázisra, és válassza a Séma összehasonlítása lehetőséget.
A Séma összehasonlítása ablakban az adatbázis van beállítva forrásként. Válassza ki a Cél kiválasztása legördülő listát, és válassza a Cél kiválasztása lehetőséget.
A Célséma kiválasztása párbeszédpanelen válassza Project, majd válassza ki az SQL-adatbázis project. Kattintson az OK gombra.
Az összehasonlítás futtatásához válassza a Összehasonlítás lehetőséget. Az eredmények az adatbázis (forrás) és a projekt (cél) közötti különbségeket jelenítik meg.
Tekintse át a különbségeket. Vegye ki a jelölést azoknál a módosításoknál, amelyeket nem szeretne alkalmazni a projektre.
Válassza a Frissítés lehetőséget a kijelölt módosítások SQL-projektre való alkalmazásához.
A projektfájlok az adatbázisséma szerint frissülnek. Tekintse át a módosításokat a Git-módosítások ablakban, írjon be egy véglegesítési üzenetet, és válassza az Összes véglegesítése lehetőséget. A Leküldés gombra kattintva leküldheti a módosításokat a távoli adattárba.
Warning
Ez az oktatóanyag nem érhető el az SDK-stílusú projektekhez (előzetes verzió) a 2022-Visual Studio. Ehelyett SQL Server Management Studio (SSMS) vagy Visual Studio Code használjon.
Az Projekt frissítése adatbázisból paranccsal frissítheti az SQL-projektet az adatbázisból.
Az adatbázis-objektumkezelőben kattintson a jobb gombbal az adatbázisra, és válassza az SQL Database Projects>Update Project lehetőséget az Adatbázisból.
Válassza ki a frissíteni és megerősíteni kívánt SQL Database-projektet.
Az összehasonlítás fut, és alkalmazza az adatbázis módosításait a projektre. A frissített
.sqlfájlok módosított fájlokként jelennek meg a Forrásvezérlő nézetben.
Tekintse át a módosításokat a Forrásvezérlő nézetben, állítsa be a módosított fájlokat, írjon be egy véglegesítési üzenetet, és válassza a Véglegesítés lehetőséget. A Módosítások szinkronizálása lehetőséget választva leküldheti a véglegesítést a távoli adattárba.
Használja a séma-összehasonlítást az SQL-projekt adatbázis alapján történő frissítéséhez.
A Object Explorer kattintson a jobb gombbal az adatbázisra, és válassza a Feladatok>séma összehasonlítása (előzetes verzió) lehetőséget.
A Séma összehasonlítása ablakban az adatbázis van beállítva forrásként. Válassza ki a cél melletti hárompontos gombot, majd válassza ki célként az SQL-adatbázisprojektet.
Az összehasonlítás futtatásához válassza a Összehasonlítás lehetőséget. Az eredmények az adatbázis (forrás) és a projekt (cél) közötti különbségeket jelenítik meg.
Tekintse át a különbségeket. Vegye ki a jelölést azoknál a módosításoknál, amelyeket nem szeretne alkalmazni a projektre.
Válassza az Alkalmaz lehetőséget a kijelölt módosítások SQL-projektre való alkalmazásához.
A projektfájlok az adatbázisséma szerint frissülnek. Tekintse át a módosításokat a Git-módosítások ablakban, írjon be egy véglegesítési üzenetet, és válassza az Összes véglegesítése lehetőséget. A Leküldés gombra kattintva leküldheti a módosításokat a távoli adattárba.
Az SqlPackage használatával újragenerálhatja az SQL-projektet az adatbázisból, és lecseréli a meglévő projektfájlokat az aktuális adatbázissémára. Míg a többi SQL-projekteszköz grafikus felületet biztosít, az SqlPackage parancssori megközelítést kínál az automatizáláshoz, amely nem biztosít lehetőséget a fájlmódosítások áttekintésére azok alkalmazása előtt.
Távolítsa el a meglévő SQL-objektumfájlokat, és hozza létre újra a projektet:
rm -rf MyDatabaseProject sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SqlProjectTekintse át a módosításokat a Gittel, és véglegesítse a következőt:
cd MyDatabaseProject dotnet new gitignore git add . git status git commit -m "Update project from database changes" git push
4. lépés: (nem kötelező) A Git távoli adattár módosításainak lekérése és alkalmazása a helyi adatbázisra
Amikor más csapattagok küldik le az adatbázisséma módosításait a távoli adattárba, lekérheti ezeket a módosításokat, és üzembe helyezheti őket a helyi fejlesztési adatbázisban.
A menüsávon válassza a Git>Lekérés lehetőséget a távoli adattár legújabb módosításainak lekéréséhez.
A Megoldáskezelő kattintson a jobb gombbal az SQL Database projektcsomópontra, és válassza a Séma összehasonlítása lehetőséget.
A Séma összehasonlítása ablakban a projekt forrásként van beállítva. Válassza ki a Cél kiválasztása legördülő listát, és válassza a Cél kiválasztása lehetőséget.
A Célséma kiválasztása párbeszédpanelen válassza az Adatbázis lehetőséget, és válassza ki a helyi fejlesztési adatbázis-kapcsolatot. Kattintson az OK gombra.
Az összehasonlítás futtatásához válassza a Összehasonlítás lehetőséget. Az eredmények a projekt (forrás) és az adatbázis (cél) közötti különbségeket jelenítik meg.
Tekintse át a különbségeket annak ellenőrzéséhez, hogy a módosítások várhatóak-e.
Válassza a Frissítés lehetőséget a módosítások adatbázisra való alkalmazásához.
Warning
Ez az oktatóanyag nem érhető el az SDK-stílusú projektekhez (előzetes verzió) a 2022-Visual Studio. Ehelyett SQL Server Management Studio (SSMS) vagy Visual Studio Code használjon.
Nyissa meg a Forrásvezérlő nézetet, és válassza a Lekérés lehetőséget a ... menüből (vagy használja az állapotsor szinkronizálási gombját) a legújabb módosítások lekéréséhez a távoli adattárból.
Az Adatbázisprojektek nézetben kattintson a jobb gombbal az SQL-adatbázisprojektre, és válassza a Séma összehasonlítása lehetőséget.
A Séma összehasonlítása ablakban a projekt forrásként van beállítva. Válassza ki a cél melletti hárompontos gombot, majd válassza célként a helyi fejlesztési adatbázis-kapcsolatot.
Az összehasonlítás futtatásához válassza a Összehasonlítás lehetőséget. Az eredmények a projekt (forrás) és az adatbázis (cél) közötti különbségeket jelenítik meg.
Tekintse át a különbségeket annak ellenőrzéséhez, hogy a módosítások várhatóak-e.
Az Alkalmaz gombra kattintva alkalmazza a módosításokat az adatbázisra.
Nyisson meg egy terminált, és futtassa
git pulla projektkönyvtárban a legújabb módosítások lekéréséhez a távoli adattárból.A Megoldáskezelő kattintson a jobb gombbal az SQL Database projektcsomópontra, és válassza a Séma összehasonlítása (előzetes verzió) lehetőséget.
A Séma összehasonlítása ablakban a projekt forrásként van beállítva. Válassza ki a célt, és válassza ki a helyi fejlesztési adatbázis-kapcsolatot.
Az összehasonlítás futtatásához válassza a Összehasonlítás lehetőséget. Az eredmények a projekt (forrás) és az adatbázis (cél) közötti különbségeket jelenítik meg.
Tekintse át a különbségeket annak ellenőrzéséhez, hogy a módosítások várhatóak-e.
Az Alkalmaz gombra kattintva alkalmazza a módosításokat az adatbázisra.
A legújabb módosítások lekérése a távoli adattárból:
cd MyDatabaseProject git pullA projekt létrehozása a módosítások sikeres fordításának ellenőrzéséhez:
dotnet buildA helyi fejlesztési adatbázis módosításainak üzembe helyezése az SqlPackage használatával:
sqlpackage /a:Publish /sf:bin/Debug/MyDatabaseProject.dacpac /tsn:localhost /tdn:MyDatabaseCserélje le
MyDatabaseProject.dacpaca kimeneti fájl nevére.dacpac, és szükség szerint frissítse a célkiszolgáló (/tsn) és az adatbázis (/tdn) értékeit.