Juhendid

Kuidas lisada oma rakendusse andmebaas (nii, et andmed hiljem ei kaoks)

Andmebaasi lisamiseks rakendusse vali hallatud relatsiooniline andmebaas (tavaliselt Postgres), hoia selle ühendusstringi serveripoolses saladuses, loo iga andmetüübi jaoks oma tabel ning lase oma taustaprogrammil, mitte brauseril, andmebaasi lugeda ja sinna kirjutada. Kui ehitad AI-rakenduste ehitajaga, saad tavaliselt lihtsalt öelda „salvesta see andmebaasi“ ja agent seadistab tabelid ja koodi; sinu ülesanne on andmed selgelt kirjeldada ja kontrollida, et need tõesti säilivad.

See juhend käsitleb seda, millal andmebaas on vaja, peamisi valikuid, kuidas andmeid kirjeldada ja vigu, mis põhjustavad andmete kadu või lekke.

Millal su rakendus vajab andmebaasi

Andmebaasi on vaja, kui rakendus peab pärast lehe sulgemist midagi meeles pidama või andmeid inimeste vahel jagama. Tüüpilised märgid:

  • Külastajad saadavad midagi: vormi, registreerimise, broneeringu või tellimuse
  • Kasutajatel on kontod oma salvestatud sisuga
  • Administraator peab nägema või muutma seda, mida teised lõid
  • Soovid aruandeid või loendureid ajas

Staatilise lehe puhul, kus kõik näevad sama sisu, näiteks portfoolio või lihtne maandumisleht, andmebaasi ei vaja. Kui sa ei tea täpselt, mis andmebaas on, loe kõigepealt mis on andmebaas.

Sinu valikud

ValikMis see onSobibKompromissid
Ehitajaga kaasas olev andmebaasSinu projekti jaoks loodud ja ühendatud andmebaasEnamik AI-ehitajaga tehtud rakendusiSeotud selle platvormi hostinguga; eksport ja varukoopiad sõltuvad platvormist
Hallatud Postgres või MySQLHostitud relatsiooniline andmebaas, mille tellid eraldiRakendused, mida hostid ise või mida jagab mitu teenustVõtmete, ühenduste piirangute ja pakettidega tegeled ise
Backend-as-a-serviceAndmebaas koos autentimise, failisalvestuse ja API-dega ühes tootesEsikülje-keskseid rakendusi, mis tahavad valmis sisselogimistRohkem platvormipõhiseid mõisteid õppida
Dokumendipõhine (NoSQL) andmebaasSalvestab paindlikke JSON-taolisi dokumenteVäga ebaühtlased andmedSeoseid ja aruandlust on raskem teha
Tabel andmebaasinaGoogle Sheets või sarnane tööriist API kauduVäikesed sisemised tööriistad, prototüübidAeglane, puuduvad korralikud piirangud, laguneb samaaegsel muutmisel

Enamiku väikeste ja keskmise suurusega veebirakenduste jaoks on õige vaikevalik relatsiooniline andmebaas nagu Postgres. See on hea seoste haldamisel (klient on seotud mitme tellimusega), hoiab andmed järjepidevana ning lubab hiljem küsida küsimusi SQL-iga. Lihtsas keeles ülevaate saamiseks vaata mis on Postgres.

Kirjelda oma andmeid enne ehitamist

Kõige kasulikum, mida saad teha, on kirja panna asjad, mida su rakendus salvestab, ja nende seosed. Andmebaasi žargooni pole vaja. Broneerimisrakenduse näide:

  • Kliendid: nimi, e-post, telefon
  • Teenused: nimi, kestus, hind
  • Broneeringud: milline klient, milline teenus, algusaeg, staatus (ootel, kinnitatud, tühistatud)

See on kolm tabelit. „Milline klient“ ja „milline teenus“ muutuvad nendevaheliseks seoseks (võõrvõtmeks). Selle õigesti tegemine varakult on palju olulisem kui ükski tehnoloogiline valik, sest juba olemasolevate ridadega andmete kuju muutmine on raskem kui lehe paigutuse muutmine.

Mõned praktilised reeglid:

  • Üks tabel iga asjatüübi kohta. Ära pane tellimusi kliendi juurde tekstiveergu.
  • Anna igale reale ID ja loomise aeg. Mõlemat vajad hiljem.
  • Kasuta õigeid tüüpe. Kuupäevad kuupäevadena, raha täissentidena või kümnendtüübina, mitte tekstina.
  • Märgi kohustuslikud väljad kohustuslikeks. Lase andmebaasil halbu andmeid tagasi lükata, mitte ainult vormil.

Näidispromptid

Alusta korraga ühe funktsiooniga, mitte kogu skeemiga:

Lisa sellele rakendusele andmebaas. Loo broneeringute tabel koos kliendi nime, e-posti, teenuse, algusaja ja staatusega (ootel, kinnitatud, tühistatud; vaikimisi ootel). Salvesta broneerimisvormi esitused sinna, näita edukuse teadet ja lisa administraatori leht, mis loetleb broneeringud uusimast vanimani.

Siis laienda seda:

Lisa teenuste tabel (nimi, kestus minutites, hind sentides). Asenda broneeringute vabateksti teenusevälja seos teenuste tabeliga ja migreeri olemasolevad broneeringud, kustutamata neid.

Ja tihenda seda:

Veendu, et kõik andmebaasi lugemised ja kirjutamised toimuvad serveris. Brauser ei tohi kunagi saada andmebaasi ühendusstringi. Valideeri e-post ja algusaeg serveris enne lisamist.

Samm-sammult

  1. Loetle oma andmed ülalkirjeldatud viisil: asjad, väljad ja nendevahelised seosed.
  2. Loo andmebaas. AI-ehitajas küsi seda vestluses. Mujal loo hallatud Postgres-eksemplar ja kopeeri selle ühendusstring.
  3. Salvesta ühendusstring saladusena (serveri keskkonnamuutujana), mitte kunagi koodi sisse. Vaata keskkonnamuutujad ja saladused.
  4. Loo tabelid. Kasuta migratsioone, versioonitud skripte, mis muudavad skeemi, nii et muudatused on korratavad ja tagasipööratavad.
  5. Ehita serveriteed, mis loovad, loevad, uuendavad ja kustutavad ridu (CRUD). Brauser kutsub neid teid; see ei räägi andmebaasiga otse.
  6. Ühenda kasutajaliides nende teedega: vormid, mis salvestavad, loendid, mis laadivad, ja tühjad olekud, kui midagi pole.
  7. Testi püsivust. Saada midagi, laadi leht uuesti, ava see teises brauseris. Kui andmeid pole seal, ei salvestatud neid andmebaasi.
  8. Kontrolli ligipääsu. Logi sisse teise kasutajana ja veendu, et ei näe ega muuda esimese kasutaja andmeid.
  9. Avalda ja testi uuesti avalikul URL-il, sest avaldatud rakendus võib kasutada teistsugust ühendust kui su eelvaade.

Levinud vead

  • Salvestamine brauserisse ja arvamine, et see on andmebaasis. localStorage näib toimivat, kuni keegi avab rakenduse teises seadmes. Testi alati teises brauseris.
  • Ühendusstringi panemine esikoodi. Igaüks saab esikoodi lugeda. See annab neile kogu sinu andmebaasi.
  • Ligipääsukontrollide puudumine. „Näita mu tellimusi“ peab filtreerima sisselogitud kasutaja järgi serveris, mitte kasutajaliideses. See on AI-ga ehitatud rakenduste kõige levinum turvaauk; meie turvakontrollnimekiri AI-ga ehitatud rakendustele käsitleb seda.
  • Hävitavad skeemimuudatused. Palve „nimeta tabel ümber“ või „muuda struktuuri“ võib tabeli kustutada ja uuesti luua. Kui olemas on päris andmed, ütle: „migreeri olemasolevad read, ära kustuta midagi“.
  • Failide salvestamine andmebaasi. Pildid ja PDF-id kuuluvad failisalvestusse; tabelisse läheb ainult nende URL või võti. Vaata kuidas lisada failide üleslaadimist.
  • Varukoopiate puudumine. Enne kui sul on kliente, tea, kuidas su platvorm andmeid varundab ja kuidas need taastada.

Kontrollnimekiri

  • Igal asjatüübil on oma tabel koos ID ja loomise ajaga
  • Kohustuslikud väljad ja tüübid on andmebaasi poolt jõustatud
  • Ühendusstring on ainult serveri saladustes
  • Kõik lugemised ja kirjutamised käivad serveriteede kaudu
  • Iga kasutaja saab lugeda ja muuta ainult oma ridu
  • Andmed püsivad pärast lehe uuesti laadimist ja ilmuvad teises brauseris
  • Skeemimuudatused kasutavad migratsioone ja säilitavad olemasolevad read
  • Tead, kuidas varukoopiad ja taastamine toimivad
  • Pärast avaldamist on elav rakendus testitud

Andmebaasi lisamine Mythexis

Mythexis saab iga projekt oma pühendatud Postgres-andmebaasi, nii tasuta kui ka Pro paketis. Tavaliselt ei pea klikkima eraldi nuppu „lisa“: küsi vestluses (näiteks „salvesta ootelistiga liitunud e-mailid andmebaasi“) või kirjuta /database, ning ühendusandmed lisatakse töökeskkonda ja sinu avaldatud rakendusse. Projekti seadetes näed, kas andmebaas on aktiivne.

Andmebaas läheb pärast 5 minutit tegevusetust unerežiimi ja ärkab järgmisel päringul. Avaldatud kasutuse eest tasutakse ajast, mil andmebaas tegelikult ärkvel oli, samast krediidisaldost, mida kasutad ehitamiseks. Kui lisad andmebaasi pärast avaldamist, avalda uuesti, et elav rakendus seda kasutama hakkaks.

Vaata dokumentatsioonist andmebaas ja retsept CRUD-rakenduse ehitamine. Kasutajapõhiste andmete sisselogimise poolt loe kuidas lisada oma rakendusse sisselogimine.

Küsimused

Kas mu rakendus vajab andmebaasi?

Vajad seda kohe, kui rakendus peab midagi pärast külastust meeles pidama või andmeid kasutajate vahel jagama: registreerimised, tellimused, broneeringud, postitused või seaded. Staatiline veebileht, mis näitab kõigile sama sisu, andmebaasi ei vaja.

Millist andmebaasi peaksin väikese veebirakenduse jaoks kasutama?

Enamiku väikeste veebirakenduste jaoks on turvaline vaikevalik relatsiooniline andmebaas, näiteks Postgres. See toimib hästi kasutajate, tellimuste, seoste ja aruandlusega, on laialdaselt toetatud ning väikeses mahus seda harva ületad.

Kas saan andmeid andmebaasi asemel brauserisse salvestada?

Brauseri salvestusruum, näiteks localStorage, elab ainult ühes seadmes ja ühes brauseris ning kasutaja võib selle igal ajal kustutada. Eelistuste, näiteks teema valiku, jaoks sobib see, kuid mitte millegi jaoks, mida sina või teised kasutajad hiljem näha vajate.

Kas Mythex sisaldab andmebaasi?

Jah. Mythexi projektil võib olla oma pühendatud Postgres-andmebaas nii tasuta kui ka Pro paketis. Küsid selle vestluses või kasutad käsku /database ning ühendusandmed lisatakse sinu eest. Kasutus tasutakse samast krediidisaldost, mida kasutatakse ka ehitamiseks.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski 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 简体中文 繁體中文(香港) 繁體中文(台灣)