Vodiči

Kako dodati bazu podataka u svoju aplikaciju (a da kasnije ne izgubite podatke)

Da biste dodali bazu podataka aplikaciji, odaberite upravljanu relacijsku bazu (Postgres je uobičajena zadana opcija), connection string čuvajte kao tajnu vrijednost na poslužitelju, napravite jednu tablicu za svaku vrstu stvari koju aplikacija sprema i neka vaš backend, a nikako preglednik, čita i piše u nju. Ako gradite s AI graditeljem aplikacija, obično je dovoljno reći „spremi ovo u bazu podataka“ i agent će postaviti tablice i kod; vaš je posao jasno opisati podatke i provjeriti da se zaista spremaju.

Ovaj vodič obuhvaća kada vam treba baza podataka, glavne opcije, kako opisati podatke i greške koje uzrokuju gubitak ili curenje podataka.

Kada vaša aplikacija treba bazu podataka

Baza podataka treba vam kada aplikacija mora zapamtiti nešto nakon što se stranica zatvori ili kada mora dijeliti podatke među ljudima. Tipični znakovi:

  • Posjetitelji šalju nešto: obrazac, prijavu, rezervaciju, narudžbu
  • Korisnici imaju račune sa svojim spremljenim sadržajem
  • Administrator mora vidjeti ili urediti ono što su drugi stvorili
  • Želite izvještaje ili brojeve kroz vrijeme

Ne trebate je za statičku stranicu na kojoj svi vide isti sadržaj, poput portfelja ili jednostavne landing stranice. Ako niste sigurni što je baza podataka, prvo pročitajte što je baza podataka.

Vaše opcije

OpcijaŠto je toDobro zaKompromisi
Ugrađena baza podataka iz vašeg graditelja aplikacijaBaza koja je stvorena i povezana za vaš projektVećinu aplikacija izrađenih AI graditeljemVezana je uz hosting te platforme; izvoz i sigurnosne kopije ovise o platformi
Upravljani Postgres ili MySQLHostirana relacijska baza koju zasebno kupujeteAplikacije koje sami hostate ili koje dijeli više servisaSami upravljate ključevima, ograničenjima veza i paketima
Backend-as-a-serviceBaza plus autentikacija, pohrana i API-ji u jednom proizvoduAplikacije s naglaskom na frontendu koje žele gotovu prijavuViše pojmova specifičnih za dobavljača za naučiti
Dokumentna (NoSQL) bazaSprema fleksibilne dokumente nalik na JSONVrlo nepravilni podaciOdnosi i izvještavanje su teži
Proračunska tablica kao bazaGoogle Sheets ili slično putem API-jaMali interni alati, prototipoviSporo, nema pravih ograničenja, lomi se kod istodobnih izmjena

Za većinu malih i srednjih web-aplikacija relacijska baza poput Postgresa pravi je izbor. Dobra je u odnosima (kupac ima mnogo narudžbi), čuva dosljednost podataka i omogućuje vam da kasnije odgovorite na pitanja pomoću SQL-a. Pregled Postgresa na jednostavnom jeziku potražite u što je Postgres.

Opišite podatke prije izrade

Najkorisnije što možete učiniti jest zapisati stvari koje aplikacija sprema i kako su povezane. Ne trebate znati bazni žargon. Za aplikaciju za rezervacije:

  • Kupci: ime, e-pošta, telefon
  • Usluge: naziv, trajanje, cijena
  • Rezervacije: koji kupac, koja usluga, početno vrijeme, status (na čekanju, potvrđeno, otkazano)

To su tri tablice. „Koji kupac“ i „koja usluga“ postaju poveznice (strani ključevi) među njima. Ispravno postavljanje na početku važnije je od bilo kojeg tehnološkog izbora, jer je promjenu oblika podataka koji već imaju stvarne retke teže napraviti nego promjenu izgleda stranice.

Nekoliko pravila palca:

  • Jedna tablica za svaku vrstu stvari. Nemojte trpati narudžbe u tekstualni stupac kod kupca.
  • Svaki redak neka ima ID i vrijeme nastanka. Oboje ćete kasnije trebati.
  • Koristite ispravne tipove. Datume kao datume, novac kao cijeli broj centi ili decimalni tip, a ne kao tekst.
  • Označite obavezna polja kao obavezna. Neka baza odbije loše podatke, a ne samo obrazac.

Primjeri promptova

Krenite s jednom funkcijom odjednom, a ne s cijelom shemom odjednom:

Dodaj bazu podataka u ovu aplikaciju. Napravi tablicu rezervacija s imenom kupca, e-poštom, uslugom, početnim vremenom i statusom (na čekanju, potvrđeno, otkazano; zadano na čekanju). Spremi predaje iz obrasca za rezervaciju, prikaži poruku o uspjehu i dodaj stranicu za administratora koja prikazuje rezervacije od najnovije prema najstarijoj.

Zatim je proširite:

Dodaj tablicu usluga (naziv, trajanje u minutama, cijena u centima). Zamijeni slobodno upisano polje usluge u rezervacijama poveznicom na usluge i migriraj postojeće rezervacije bez brisanja.

I zatim pooštrite:

Pobrini se da se sva čitanja i pisanja u bazu odvijaju na poslužitelju. Preglednik nikada ne smije dobiti connection string za bazu. Provjeri e-poštu i vrijeme početka na poslužitelju prije umetanja.

Korak po korak

  1. Popišite podatke kako je gore opisano: stvari, polja, veze među njima.
  2. Napravite bazu. U AI graditelju to tražite u chatu. Drugdje napravite upravljani Postgres i kopirajte connection string.
  3. Spremite connection string kao tajnu vrijednost (varijablu okruženja na poslužitelju), nikada u kodu. Pogledajte varijable okruženja i tajne vrijednosti.
  4. Napravite tablice. Koristite migracije, verzionirane skripte koje mijenjaju shemu, tako da su promjene ponovljive i da se mogu poništiti.
  5. Izgradite rute na poslužitelju koje stvaraju, čitaju, ažuriraju i brišu retke (CRUD). Preglednik poziva te rute; nikada ne razgovara s bazom izravno.
  6. Povežite sučelje s tim rutama: obrasci koji spremaju, popisi koji se učitavaju, prazna stanja kada još nema podataka.
  7. Testirajte trajnost. Pošaljite nešto, ponovno učitajte stranicu, otvorite je u drugom pregledniku. Ako podataka nema, nisu spremljeni u bazu.
  8. Provjerite pristup. Prijavite se kao drugi korisnik i potvrdite da ne možete vidjeti niti uređivati podatke prvog korisnika.
  9. Objavite, pa ponovno testirajte na živoj adresi, jer objavljena aplikacija može koristiti drugačiju vezu nego vaš pregled.

Česte greške

  • Spremanje u preglednik i pretpostavka da je spremljeno u bazu. localStorage izgleda kao da radi dok netko ne otvori aplikaciju na drugom uređaju. Uvijek testirajte u drugom pregledniku.
  • Connection string u kodu frontenda. Svatko može pročitati kod frontenda. To mu daje cijelu vašu bazu.
  • Nema provjere pristupa. „Prikaži moje narudžbe“ mora filtrirati po prijavljenom korisniku na poslužitelju, a ne u sučelju. Ovo je najčešća sigurnosna rupa u aplikacijama izrađenim AI alatima; naš sigurnosni kontrolni popis to pokriva.
  • Destruktivne promjene sheme. Traženje da se „preimenuje tablica“ ili „promijeni struktura“ može tablicu obrisati i ponovno stvoriti. Kada postoje stvarni podaci, recite „migriraj postojeće retke, ništa ne briši“.
  • Spremanje datoteka u bazu. Slike i PDF-ovi pripadaju pohrani datoteka, a u tablici treba biti samo njihov URL ili ključ. Pogledajte kako dodati učitavanje datoteka.
  • Nema sigurnosnih kopija. Prije nego što imate kupce, znajte kako vaša platforma radi sigurnosne kopije i kako ih vratiti.

Kontrolni popis

  • Svaka vrsta stvari ima svoju tablicu s ID-om i vremenom nastanka
  • Obavezna polja i tipovi se provode u bazi
  • Connection string postoji samo u tajnim vrijednostima na poslužitelju
  • Sva čitanja i pisanja idu kroz rute na poslužitelju
  • Svaki korisnik može čitati i mijenjati samo svoje retke
  • Podaci prežive ponovno učitavanje i vidljivi su u drugom pregledniku
  • Promjene sheme koriste migracije i čuvaju postojeće retke
  • Znate kako rade sigurnosne kopije i vraćanje
  • Živa aplikacija testirana je nakon objave

Dodavanje baze podataka u Mythexu

Na Mythexu svaki projekt može dobiti vlastitu namjensku Postgres bazu podataka, i u paketu Free i u Pro. Obično ne trebate posebno gumb za „povezivanje“: zatražite je u chatu („spremi emailove s liste čekanja u bazu podataka“) ili upišite /database, a podaci za povezivanje ubacuju se u radni prostor i vašu objavljenu aplikaciju. Postavke projekta pokazuju je li baza aktivna.

Baza zaspi nakon 5 minuta neaktivnosti i probudi se na sljedeći zahtjev. Korištenje objavljene aplikacije naplaćuje se za vrijeme kada je bila budna, s istog stanja kredita koje trošite na izradu. Ako dodate bazu nakon što ste već objavili, objavite ponovno kako bi živa aplikacija to preuzela.

Pogledajte Baza podataka i recept Izgradnja CRUD aplikacije u dokumentaciji. Za prijavnu stranu podataka po korisniku pročitajte kako dodati prijavu u aplikaciju.

Pitanja

Treba li mojoj aplikaciji baza podataka?

Treba vam čim vaša aplikacija mora nešto pamtiti između posjeta ili dijeliti podatke među korisnicima: prijave, narudžbe, rezervacije, objave ili postavke. Statička web-stranica koja svima prikazuje isti sadržaj ne treba bazu.

Koju bazu podataka odabrati za malu web-aplikaciju?

Relacijska baza poput Postgresa sigurna je zadana opcija za većinu malih web-aplikacija. Dobro rukuje korisnicima, narudžbama, odnosima i izvještavanjem, široko je podržana i u malom opsegu rijetko je prerastete.

Mogu li podatke spremati u pregledniku umjesto u bazi podataka?

Pohrana u pregledniku, poput localStorage, živi samo na jednom uređaju, u jednom pregledniku, a korisnik je može obrisati bilo kada. Dobra je za postavke poput odabira teme, ali ne za ono što vi ili drugi korisnici kasnije trebate vidjeti.

Uključuje li Mythex bazu podataka?

Da. Mythex projekt može dobiti vlastitu namjensku Postgres bazu podataka u paketima Free i Pro. Tražite je u chatu ili koristite naredbu /database, a podaci za povezivanje ubacuju se automatski. Korištenje se plaća s istog stanja kredita kao i izrada aplikacije.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)