Ako pridať databázu do aplikácie (a neprísť neskôr o dáta)
Databázu do aplikácie pridáte tak, že vyberiete spravovanú relačnú databázu (zvyčajne Postgres), jej pripojovací reťazec uložíte ako tajomstvo na strane servera, vytvoríte jednu tabuľku pre každý druh vecí, ktoré aplikácia ukladá, a necháte čítanie a zápis robiť váš backend — nikdy prehliadač. Ak aplikáciu staviate s AI nástrojom, zvyčajne stačí napísať „ulož toto do databázy“ a agent nastaví tabuľky a kód; vaša úloha je jasne opísať dáta a overiť, že sa naozaj ukladajú.
Tento sprievodca sa venuje tomu, kedy databázu potrebujete, hlavným možnostiam, opisu vašich dát a chybám, ktoré spôsobujú stratu alebo únik dát.
Kedy vaša aplikácia databázu potrebuje
Databázu potrebujete vtedy, keď má aplikácia zapamätať niečo aj po zatvorení stránky, alebo zdieľať dáta medzi ľuďmi. Typické znaky:
- Návštevníci odošlú niečo: formulár, registráciu, rezerváciu, objednávku
- Používatelia majú účty so svojím uloženým obsahom
- Administrátor potrebuje vidieť alebo upraviť to, čo vytvorili iní
- Chcete reporty alebo počty v čase
Nepotrebujete ju pri statickej stránke, na ktorej všetci vidia ten istý obsah, napríklad pri portfóliu alebo jednoduchej vstupnej stránke. Ak si nie ste istí, čo databáza vlastne je, najprv si prečítajte čo je databáza.
Vaše možnosti
| Možnosť | Čo to je | Vhodné pre | Kompromisy |
|---|---|---|---|
| Vstavaná databáza z nástroja na tvorbu aplikácií | Databáza vytvorená a pripojená pre váš projekt | Väčšinu aplikácií vytvorených s AI nástrojom | Viazaná na hosting danej platformy; export a zálohy závisia od platformy |
| Spravovaný Postgres alebo MySQL | Hostovaná relačná databáza, ktorú si objednáte samostatne | Aplikácie, ktoré hostujete sami, alebo ktoré zdieľa viac služieb | Spravujete kľúče, limity pripojení a plány |
| Backend ako služba | Databáza plus prihlasovanie, úložisko a API v jednom produkte | Aplikácie orientované na frontend, ktoré chcú hotové prihlasovanie | Viac pojmov špecifických pre daného dodávateľa |
| Dokumentová (NoSQL) databáza | Ukladá flexibilné dokumenty podobné JSON | Veľmi nepravidelné dáta | Vzťahy a reporty sa robia ťažšie |
| Tabuľkový procesor ako databáza | Google Sheets alebo podobný nástroj cez API | Malé interné nástroje, prototypy | Pomalé, bez skutočných obmedzení, rozpadá sa pri súbežných úpravách |
Pre väčšinu malých a stredných webových aplikácií je správnou voľbou relačná databáza ako Postgres. Dobre zvláda vzťahy (zákazník má veľa objednávok), drží dáta konzistentné a neskôr vám umožní odpovedať na otázky pomocou SQL. Prehľad Postgresu v jednoduchom jazyku nájdete v čo je Postgres.
Opíšte svoje dáta pred stavbou
Najužitočnejšie, čo môžete urobiť, je zapísať si veci, ktoré aplikácia ukladá, a ako súvisia. Nepotrebujete databázový žargón. Pri aplikácii na rezervácie to môže vyzerať takto:
- Zákazníci: meno, e-mail, telefón
- Služby: názov, dĺžka, cena
- Rezervácie: ktorý zákazník, ktorá služba, začiatok, stav (čaká sa, potvrdená, zrušená)
To sú tri tabuľky. „Ktorý zákazník“ a „ktorá služba“ sa stanú prepojeniami (cudzími kľúčmi) medzi nimi. Správne urobiť toto na začiatku je oveľa dôležitejšie ako akákoľvek technologická voľba, pretože zmena tvaru dát, ktoré už obsahujú skutočné záznamy, je ťažšia ako zmena rozloženia stránky.
Niekoľko pravidiel palca:
- Jedna tabuľka pre každý druh veci. Neukladajte objednávky do textového stĺpca u zákazníka.
- Každý záznam má ID a čas vytvorenia. Oboje budete neskôr potrebovať.
- Používajte správne typy. Dátumy ako dátumy, peniaze ako celé centy alebo desatinný typ, nie ako text.
- Povinné polia označte ako povinné. Nech databáza odmietne zlé dáta, nielen formulár.
Príklady promptov
Začnite jednou funkciou naraz, nie celou schémou naraz:
Pridaj do tejto aplikácie databázu. Vytvor tabuľku rezervácií s menom zákazníka, e-mailom, službou, časom začiatku a stavom (čaká sa, potvrdená, zrušená; predvolene čaká sa). Ukladaj odoslania z formulára rezervácie, zobraz hlásenie o úspechu a pridaj administrátorskú stránku, ktorá zoznam rezervácií zobrazí od najnovších.
Potom ju rozšírte:
Pridaj tabuľku služieb (názov, dĺžka v minútach, cena v centoch). Nahraď voľné textové pole služby na rezerváciách odkazom na služby a existujúce rezervácie preveď bez toho, aby si odstránil akékoľvek záznamy.
A potom ju spevnite:
Zabezpeč, aby sa všetky čítania a zápisy do databázy diali na serveri. Prehliadač nikdy nesmie dostať pripojovací reťazec k databáze. Pred vložením over e-mail a čas začiatku na serveri.
Krok za krokom
- Vypíšte si svoje dáta podľa vyššie uvedeného: veci, polia, prepojenia medzi nimi.
- Vytvorte databázu. V AI nástroji ju požiadajte v chate. Inde vytvorte spravovanú inštanciu Postgres a skopírujte jej pripojovací reťazec.
- Uložte pripojovací reťazec ako tajomstvo (premennú prostredia na serveri), nikdy nie do kódu. Pozrite si premenné prostredia a tajomstvá.
- Vytvorte tabuľky. Používajte migrácie — verzované skripty, ktoré menia schému, aby zmeny boli opakovateľné a vratné.
- Vytvorte serverové trasy, ktoré vytvárajú, čítajú, upravujú a mažú riadky (CRUD). Prehliadač tieto trasy volá; s databázou nikdy nekomunikuje priamo.
- Napojte používateľské rozhranie na tieto trasy: formuláre, ktoré ukladajú, zoznamy, ktoré sa načítavajú, a prázdne stavy, keď ešte nič nie je.
- Otestujte uloženie. Odošlite niečo, obnovte stránku, otvorte ju v inom prehliadači. Ak tam dáta nie sú, neboli uložené do databázy.
- Skontrolujte prístup. Prihláste sa ako druhý používateľ a overte, že nevidíte ani neupravíte dáta prvého používateľa.
- Publikujte a otestujte znova na živej adrese, pretože publikovaná aplikácia môže používať iné pripojenie ako váš náhľad.
Bežné chyby
- Uložiť do prehliadača a myslieť si, že je to uložené. localStorage vyzerá, že funguje, kým niekto neotvorí aplikáciu na inom zariadení. Vždy testujte v druhom prehliadači.
- Pripojovací reťazec vo frontend kóde. Frontend kód si môže prečítať ktokoľvek. Tým získa celú vašu databázu.
- Žiadne kontroly prístupu. „Ukáž moje objednávky“ musí filtrovať podľa prihláseného používateľa na serveri, nie v používateľskom rozhraní. Je to najčastejšia bezpečnostná diera v aplikáciách vytvorených s AI; náš bezpečnostný kontrolný zoznam to pokrýva.
- Deštruktívne zmeny schémy. Požiadavka „premenuj tabuľku“ alebo „zmeň štruktúru“ môže tabuľku zahodiť a vytvoriť znova. Keď existujú skutočné dáta, napíšte „preveď existujúce riadky, nič nemaž“.
- Ukladanie súborov do databázy. Obrázky a PDF patria do úložiska súborov, do tabuľky len ich URL alebo kľúč. Pozrite si ako pridať nahrávanie súborov.
- Žiadne zálohy. Pred tým, než budete mať zákazníkov, zistite, ako vaša platforma zálohuje dáta a ako ich obnovíte.
Kontrolný zoznam
- Každý druh veci má vlastnú tabuľku s ID a časom vytvorenia
- Povinné polia a typy vynucuje databáza
- Pripojovací reťazec žije len v tajomstvách na strane servera
- Všetky čítania a zápisy idú cez serverové trasy
- Každý používateľ môže čítať a meniť len svoje riadky
- Dáta prežijú obnovenie stránky a zobrazia sa v inom prehliadači
- Zmeny schémy používajú migrácie a zachovávajú existujúce riadky
- Viete, ako fungujú zálohy a obnova
- Živá aplikácia bola otestovaná po publikovaní
Pridanie databázy v Mythexe
V Mythexe môže každý projekt dostať vlastnú dedikovanú databázu Postgres, a to vo plánoch Free aj Pro. Zvyčajne nemusíte klikať na samostatné tlačidlo „pripojiť“: požiadajte v chate (napríklad „ulož e-maily čakateľov do databázy“) alebo napíšte /database, a pripojovacie údaje sa vložia do pracovného priestoru aj do vašej publikovanej aplikácie. V nastaveniach projektu vidíte, či je databáza aktívna.
Databáza po 5 minútach nečinnosti zaspí a zobudí sa pri ďalšej požiadavke. Za publikované použitie sa účtuje čas, počas ktorého bola skutočne hore, z rovnakého kreditového zostatku, aký používate na tvorbu. Ak databázu pridáte až po publikovaní, publikujte znova, aby živá aplikácia prevzala zmenu.
Pozrite si Databázu a recept Vytvor CRUD aplikáciu v dokumentácii. Pre prihlasovaciu stránku dát jednotlivých používateľov si prečítajte ako pridať prihlasovanie do aplikácie.
Otázky
Potrebujem databázu pre svoju aplikáciu?
Potrebujete ju hneď, ako má aplikácia niečo pamätať medzi návštevami alebo zdieľať dáta medzi používateľmi: registrácie, objednávky, rezervácie, príspevky alebo nastavenia. Statická webová stránka, ktorá všetkým ukazuje rovnaký obsah, databázu nepotrebuje.
Akú databázu mám použiť pre malú webovú aplikáciu?
Relačná databáza, napríklad Postgres, je bezpečnou voľbou pre väčšinu malých webových aplikácií. Dobre zvláda používateľov, objednávky, vzťahy medzi dátami aj reporty, je široko podporovaná a v malom rozsahu z nej len zriedka vyrastiete.
Môžem dáta ukladať v prehliadači namiesto databázy?
Úložisko v prehliadači, ako je localStorage, žije len na jednom zariadení, v jednom prehliadači a používateľ ho môže kedykoľvek vymazať. Hodí sa na predvoľby, napríklad výber témy, ale nie na dáta, ktoré potom potrebujete vy alebo ostatní používatelia.
Má Mythex databázu?
Áno. Projekt v Mythexe môže dostať vlastnú dedikovanú databázu Postgres vo plánoch Free a Pro. Požiadate o ňu v chate alebo použijete príkaz /database a pripojovacie údaje sa vám vložia automaticky. Použitie sa platí z rovnakého kreditového zostatku ako vytváranie aplikácie.