GraphQL.cz/Fórum/Nové pole v GraphQL API a SQL databáze

Nové pole v GraphQL API a SQL databáze

Zvažuju, že do svého GraphQL API přidám nové pole a zajímalo by mě, jaký dopad to může mít na moji SQL databázi. Mám na mysli, co všechno to obnáší z hlediska struktury databáze a jestli bude potřeba nějaká migrace nebo úpravy tabulek. Taky se chci ujistit, že nové pole bude správně fungovat v rámci stávajícího API a neovlivní negativně existující dotazy nebo schémata. Jak to vlastně celý proces probíhá? Je nutné upravit i resolvery nebo jiné části backendu? A co výkonnostní aspekt, může přidání nového pole nějak ovlivnit rychlost dotazů na databázi? Potřebuji si to trochu ujasnit, než se do toho pustím. Máte někdo zkušenosti s touto problematikou? Jaké jsou nejlepší postupy při přidávání nových polí do GraphQL API a jak se to dělá správně, aby nedošlo k nějakým chybám nebo problémům? Děkuju za jakékoliv tipy a rady!

138 slov
1.4 minut čtení
13. 5. 2020
Eliška Svobodová

Přidání nového pole do GraphQL API většinou znamená, že budeš muset udělat i změny v SQL databázi. Pokud to pole chceš ukládat do databáze, tak určitě bude potřeba migrace, přidání sloupce do tabulky a možná i úprava datových typů. Doporučuju si nejdřív promyslet, jaký typ dat to pole bude mít a jestli bude nějak volitelné nebo povinné, to má vliv na strukturu databáze.

Budeš taky potřebovat upravit resolvery v backendu, aby správně načítaly a zapisovaly tyto nové informace. Nezapomeň, že pokud se mění něco ve schématu GraphQL, je dobré udělat testy, aby ses ujistil, že existující dotazy fungují pořád správně a nic nevyhazuje chybu.

Co se týče výkonu, tak záleží hodně na tom, jak složité dotazy máš a jak moc to nové pole ovlivní načítání dat. Pokud přidáš pole, které se často používá v dotazech, může to zpomalit odpovědi, takže je dobré mít na paměti indexaci sloupců v databázi.

Vždycky je fajn mít zálohu stávající databáze před jakýmikoliv změnami a vyzkoušet to nejdřív na testovacím serveru. Takže shrnuto: migrace, úpravy v resolvers, testování a sledování výkonu po nasazení. Snad ti to pomůže!

179 slov
1.8 minut čtení
13. 3. 2024
Matěj Ševčík

Přidání nového pole do GraphQL API obvykle znamená, že budeš muset udělat pár změn v databázi. Pokud to pole nebudeš mít v tabulce, tak jo, bude potřeba migrace. Zase tak složitý to ale není, stačí přidat sloupec a pak aktualizovat schéma GraphQL. Po přidání nového pole bys měl zkontrolovat resolvery, aby dotazy správně zahrnovaly to nový pole. Někdy je potřeba upravit i ty existující dotazy, zvlášť pokud pracuješ s nějakým agregátem nebo filtrací. Co se týče výkonnosti, většinou přidání jednoho pole nemá velký dopad, ale záleží na tom, jak to pole používáš. Když ho budeš často dotazovat ve velkých množstvích dat, může to trochu zpomalit výkon. Takže určitě testuj po každé změně a sleduj výkonnostní metriky. Dobré je mít i zálohu databáze pro případ, že by něco nefungovalo podle plánu. Celkově, buď opatrný a testuj si to vše před nasazením do produkce.

142 slov
1.4 minut čtení
24. 4. 2022
Petr Kubík

Přidání nového pole do GraphQL API může mít pár dopadů na SQL databázi. Nejprve se musíš podívat, jestli potřebuješ změnit strukturu tabulek. Pokud to pole bude vyžadovat nové sloupec, tak určitě budeš muset udělat migraci, jinak ti to nebude fungovat. Migrations jsou fakt důležitý, protože musíš zajistit, že se všechno správně synchronizuje.

Pak se podívej na resolvery. Ty budou potřebovat úpravy, aby nový field správně načítal data z databáze a vracel je klientovi. Pokud už máš nějaký komplexní dotaz, tak dej pozor, aby nová data neovlivnila výkon. Někdy ti nové pole může zpomalit dotazy, hlavně pokud se přidává do složitějších struktur nebo filtrů.

A taky nezapomeň otestovat stávající dotazy po přidání nového pole, aby ses ujistil, že nic nezhavaruje. Dobře je projet unit testy nebo dělat testy na stagingu, ať to nenarazí hned na produkci. Celkově doporučuju postupovat opatrně a všechno si důkladně promyslet.

142 slov
1.4 minut čtení
6. 11. 2023
Matěj Černý
GraphQL.cz/Články/GraphQL a SQL databáze
Usnadnění verzování API s GraphQL a SQL databázemiČlánek se zaměřuje na techniky správy verzí GraphQL API ve spojení se změnami ve struktuře SQL databáze a přináší užitečné tipy pro vývojáře.
1000 slov
10 minut čtení
15. 2. 2020
Barbora Němcová
Přečíst článek
Podobné otázky