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 Data API Builder (DAB) támogatja a több mutációs művelet egyetlen tranzakcióba való kombinálását. Több mutáció támogatja azokat a forgatókönyveket, amelyekben több, ugyanahhoz az entitáshoz tartozó elemet kell létrehoznia, vagy egy kapcsolódó entitáshoz tartozó több elemet kell létrehoznia. Ez az útmutató több mutációs művelettel végigvezet egy mintaforgatókönyven.
Előfeltételek
- Meglévő SQL-kiszolgáló és -adatbázis.
- Adat API-építő CLI. A parancssori felület telepítése
- Adatbázis-ügyfél (SQL Server Management Studio, Azure Data Studio stb.)
- Ha nincs telepítve ügyfél, telepítse az Azure Data Studiót
Táblák létrehozása
Először hozzon létre két alaptáblát, amelyek a könyveket és a hozzájuk tartozó fejezeteket jelölik. A könyvek egy-a-többhöz kapcsolatban vannak a hozzájuk tartozó fejezetekkel.
Csatlakozzon az SQL-adatbázishoz az előnyben részesített ügyfél vagy eszköz használatával.
Hozzon létre egy
Booksnevű táblát, amelyid,title,year, éspagesoszlopokat tartalmaz.DROP TABLE IF EXISTS dbo.Books; CREATE TABLE dbo.Books ( id int NOT NULL PRIMARY KEY, title nvarchar(1000) NOT NULL, [year] int null, [pages] int null ) GOHozzon létre egy másik táblát, amely tartalmazza a
Chapters,id,nameéspagesoszlopokat. Hozzon létre egy olyan oszlopotbook_id, amely idegenkulcs-kapcsolatot tartalmaz aidBookstábla oszlopával.DROP TABLE IF EXISTS dbo.Chapters; CREATE TABLE dbo.Chapters ( id int NOT NULL PRIMARY KEY, [name] nvarchar(1000) NOT NULL, [pages] int null, book_id int NOT NULL, FOREIGN KEY (book_id) REFERENCES dbo.Books(id) ) GOEllenőrizze, hogy a táblák néhány gyakori SQL-lekérdezéssel lettek-e létrehozva.
SELECT * FROM dbo.BooksSELECT * FROM dbo.ChaptersMegjegyzés:
Ezen a ponton a lekérdezések nem adnak vissza adatokat.
Konfigurációs fájl összeállítása
Most a DAB CLI használatával hozzon létre konfigurációs fájlt, entitásokat és entitáskapcsolatokat.
Terminál megnyitása
Tárolja az SQL-adatbázis kapcsolati karakterláncát
SQL_CONNECTION_STRINGnevű rendszerhéjváltozóként.SQL_CONNECTION_STRING="<your-sql-connection-string>"$SQL_CONNECTION_STRING="<your-sql-connection-string>"Futtassa
dab inita következő tulajdonságokat megadva.Érték database-typemssqlgraphql.multiple-create.enabledtruehost-modedevelopmentconnection-stringHasználja az SQL_CONNECTION_STRINGelőző lépésben létrehozott rendszerhéjváltozót.dab init --database-type "mssql" --graphql.multiple-create.enabled true --host-mode "development" --connection-string $SQL_CONNECTION_STRINGFuttassa
dab adda book entitás hozzáadásához, amely a következő tulajdonságokat adja meg.Érték sourcedbo.Bookspermissionsanonymous:*dab add Book --source "dbo.Books" --permissions "anonymous:*"Futtassa
dab addújra a következő tulajdonságok megadásával egy Fejezet entitás hozzáadása céljából.Érték sourcedbo.Chapterspermissionsanonymous:*dab add Chapter --source "dbo.Chapters" --permissions "anonymous:*"Futtassa a
dab updateparancsot a Book to Chapter kapcsolat létrehozásához, megadva a következő tulajdonságokat.Érték relationshipchapterscardinalitymanydab update Book --relationship chapters --target.entity Chapter --cardinality manyVégül futtassa
dab updatemég egyszer a Fejezet a könyvhez kapcsolatot, amely a következő tulajdonságokat adja meg.Érték relationshipbookcardinalityonedab update Chapter --relationship book --target.entity Book --cardinality one
Több létrehozási mutáció végrehajtása
A dolgok becsomagolásához használja a DAB CLI-t az API futtatására és a GraphQL-végpont tesztelésére a Banana Cake Pop használatával.
Indítsa el a futtatókörnyezeti motort az aktuális konfigurációval.
dab startLépjen a
/graphqlrelatív végponthoz a futó alkalmazás esetén. Ez a végpont megnyitja a Banana Cake Pop felületet.Megjegyzés:
Alapértelmezés szerint ez a következő lenne
https://localhost:5001/graphql: .Hozzon létre egy GraphQL-mutációt, amely három különböző sort hoz létre az adatbázis két táblájában. Ez a mutáció mind a
Book, mind aChapterentitást egyetlen "többszörös létrehozási" műveletben használja. Használja a következő tulajdonságokat a mutációhoz.Entitás típusa azonosító Név Oldalak Év Könyv 1 Bevezetés a Data API Builderbe 200 2024 Fejezet 2 Konfigurációs fájlok 150 Fejezet 3 Futás 50 mutation { createBook( item: { id: 1 title: "Introduction to Data API builder" pages: 200 year: 2024 chapters: [ { id: 2 name: "Configuration files", pages: 150 } { id: 3 name: "Running", pages: 50 } ] } ) { id title pages year chapters { items { name pages } } } }Figyelje meg a mutáció kimenetét. A mutáció mindkét entitástípushoz kapcsolódó adatokat hozott létre.
{ "data": { "createBook": { "id": 1, "title": "Introduction to Data API builder", "pages": 200, "year": 2024, "chapters": { "items": [ { "name": "Configuration files", "pages": 150 }, { "name": "Running", "pages": 50 } ] } } } }GraphQL-lekérdezéssel lekérheti az adatbázis összes könyvét, beleértve a kapcsolódó fejezeteket is.
query { books { items { pages title year chapters { items { name pages } } } } }Megjegyzés:
Ezen a ponton a lekérdezésnek két fejezettel kell visszaadnia az egyetlen könyvet.
Figyelje meg a lekérdezés kimenetét egy könyvtömbdel, beleértve a fejezetek beágyazott tömbét is.
{ "data": { "books": { "items": [ { "pages": 200, "title": "Introduction to Data API builder", "year": 2024, "chapters": { "items": [ { "name": "Configuration files", "pages": 150 }, { "name": "Running", "pages": 50 } ] } } ] } } }Csatlakozzon ismét az SQL-adatbázishoz az előnyben részesített ügyfél vagy eszköz használatával.
Ellenőrizze, hogy az adatok sikeresen létrejöttek-e SQL-lekérdezéssel.
SELECT c.name AS chapterName, c.pages AS chapterPages, b.title AS bookName, b.year AS releaseYear FROM dbo.Chapters c LEFT JOIN dbo.Books b ON b.id = c.book_idMegjegyzés:
A lekérdezésnek két fejezetrekordot kell visszaadnia.