Hvernig á að bæta gagnagrunni við appið þitt (án þess að tapa gögnum síðar)
Til að bæta gagnagrunni við appið þitt velurðu stýrðan tengslagagnagrunn (Postgres er venjulega sjálfgefið val), geymir tengistrenginn sinn sem leyndarmál á þjóninum, býrð til eina töflu fyrir hverja tegund hluta sem appið geymir, og lætur bakendann þinn — aldrei vafrann — lesa og skrifa í hann. Ef þú smíðar með gervigreindarsmíðatóli geturðu yfirleitt einfaldlega sagt „vistaðu þetta í gagnagrunn“ og agentinn setur upp töflurnar og kóðann; þitt hlutverk er að lýsa gögnunum skýrt og athuga að þau lifi raunverulega áfram.
Þessi leiðbeining fjallar um hvenær þú þarft gagnagrunn, helstu valkostina, hvernig þú lýsir gögnunum þínum og þau mistök sem valda töpuðum eða lekum gögnum.
Hvenær appið þitt þarf gagnagrunn
Þú þarft gagnagrunn þegar appið þitt þarf að muna eitthvað eftir að síðunni er lokað, eða deila gögnum á milli fólks. Dæmigerð merki:
- Gestir senda inn eitthvað: eyðublað, skráningu, bókun eða pöntun
- Notendur eru með aðganga með eigið efni sem þeir hafa vistað
- Stjórnandi þarf að sjá eða breyta því sem aðrir bjuggu til
- Þú vilt skýrslur eða talningar yfir tíma
Þú þarft ekki einn fyrir kyrrstæða síðu þar sem allir sjá sama efnið, eins og safnsíðu eða einfalda lendingarsíðu. Ef þú ert ekki viss um hvað gagnagrunnur er í raun og veru, lestu fyrst hvað er gagnagrunnur.
Valkostirnir þínir
| Valkostur | Hvað það er | Hentar fyrir | Málamiðlanir |
|---|---|---|---|
| Innbyggður gagnagrunnur frá smíðatólinu þínu | Gagnagrunnur sem er búinn til og tengdur við verkefnið þitt | Flest öpp sem eru smíðuð með gervigreindarsmíðatóli | Bundinn við hýsingu þess vettvangs; útflutningur og afrit ráðast af vettvanginum |
| Stýrður Postgres eða MySQL | Hýstur tengslagagnagrunnur sem þú skráir þig fyrir sérstaklega | Öpp sem þú hýsir sjálf/ur, eða sem nokkrar þjónustur deila | Þú sérð um lykla, tengingamörk og áætlanir |
| Backend-as-a-service | Gagnagrunnur ásamt innskráningu, geymslu og API-um í einni vöru | Framendaþung öpp sem vilja tilbúna innskráningu | Fleiri sérstök hugtök sem þarf að læra |
| Skjalagagnagrunnur (NoSQL) | Geymir sveigjanleg skjöl, líkt og JSON | Mjög óreglulegu gögn | Tengsl og skýrslugerð verða erfiðari |
| Reiknitafla sem gagnagrunnur | Google Sheets eða sambærilegt í gegnum API | Litlar innri verkfæri, frumgerðir | Hægt, engar raunverulegar takmarkanir, bilar við samtímabreytingar |
Fyrir flest lítil og meðalstór vefapp er tengslagagnagrunnur eins og Postgres rétta sjálfgefna valið. Hann ræður vel við tengsl (viðskiptavinur á margar pantanir), heldur gögnum samkvæmum og leyfir þér að svara spurningum síðar með SQL. Sjá hvað er Postgres fyrir yfirlit í einföldu máli.
Lýstu gögnunum þínum áður en þú smíðar
Mikilvægasta skrefið er að skrifa niður hlutina sem appið þitt geymir og hvernig þeir tengjast. Þú þarft ekki gagnagrunnsfræði. Fyrir bókunarapp:
- Viðskiptavinir: nafn, netfang, símanúmer
- Þjónustur: heiti, lengd, verð
- Bókanir: hvaða viðskiptavinur, hvaða þjónusta, upphafstími, staða (í bið, staðfest, afpantað)
Þetta eru þrjár töflur. „Hvaða viðskiptavinur“ og „hvaða þjónusta“ verða tengsl (erlendir lyklar) á milli þeirra. Að hafa þetta rétt strax skiptir miklu meira máli en nokkurt tæknival, því það er erfiðara að breyta lögun gagna sem þegar eru með raunverulegum röðum en að breyta útliti síðu.
Nokkrar þumalputtareglur:
- Ein tafla fyrir hverja tegund hluta. Ekki pakka pöntunum inn í textareit á viðskiptavininum.
- Gefðu hverri röð auðkenni og tímastimpil fyrir sköpun. Þú vilt hvort tveggja síðar.
- Notaðu rétta gerðir. Dagsetningar sem dagsetningar, peninga sem heilar sentir eða tugabrot, ekki sem texta.
- Merktu skyldureiti sem skyldureiti. Láttu gagnagrunninn hafna röngum gögnum, ekki bara eyðublaðið.
Dæmi um fyrirmæli
Byrjaðu á einum eiginleika í einu frekar en að henda inn heilu skema:
Bættu gagnagrunni við þetta app. Búðu til bókunartöflu með nafni viðskiptavinar, netfangi, þjónustu, upphafstíma og stöðu (í bið, staðfest, afpantað; sjálfgefið í bið). Vistaðu innsendingar úr bókunarforminu í hana, sýndu staðfestingarskilaboð og bættu við stjórnendasíðu sem listar bókanir, nýjustu fyrst.
Svo bætirðu við:
Bættu við þjónustutöflu (heiti, lengd í mínútum, verð í sentum). Skiptu út textareitnum fyrir þjónustu á bókunum fyrir tengingu við þjónustutöfluna og færðu núverandi bókanir yfir án þess að eyða neinu.
Og herðir svo:
Gakktu úr skugga um að allar lestrar- og skrifaaðgerðir á gagnagrunninn fari fram á þjóninum. Vafrinn má aldrei fá tengistrenginn fyrir gagnagrunninn. Staðfestu netfang og upphafstíma á þjóninum áður en gögnin eru sett inn.
Skref fyrir skref
- Listaðu gögnin þín eins og lýst er hér að ofan: hlutir, reitir og tengsl þeirra á milli.
- Búðu til gagnagrunninn. Í gervigreindarsmíðatóli biður þú um hann í spjallinu. Annars staðar býrðu til stýrt Postgres-tilvik og afritar tengistrenginn.
- Geymdu tengistrenginn sem leyndarmál (umhverfisbreytu á þjóninum), aldrei í kóðanum. Sjá umhverfisbreytur og leyndarmál.
- Búðu til töflurnar. Notaðu migrations, útgáfumerktar skriptur sem breyta skemanu, svo breytingar séu endurteknar og afturkræfar.
- Smíðaðu þjónsleiðir sem búa til, lesa, uppfæra og eyða röðum (CRUD). Vafrinn kallar á þessar leiðir; hann talar aldrei beint við gagnagrunninn.
- Tengdu viðmótið við þessar leiðir: eyðublöð sem vista, listar sem hlaðast, tómar stöður þegar ekkert er til.
- Prófaðu að gögnin lifi. Sendu eitthvað inn, endurhlaðaðu síðuna, opnaðu hana í öðrum vafra. Ef gögnin eru ekki þar, þá voru þau ekki vistuð í gagnagrunninum.
- Athugaðu aðgang. Skráðu þig inn sem annar notandi og staðfestu að þú sjáir eða breytir ekki gögnum fyrsta notandans.
- Birtu, prófaðu svo aftur á lifandi slóðinni, því birta appið gæti notað aðra tengingu en forskoðunin.
Algeng mistök
- Að vista í vafranum og halda að það sé vistað. localStorage virkar eins og allt sé í lagi þar til einhver opnar appið í öðru tæki. Prófaðu alltaf í öðrum vafra.
- Að setja tengistrenginn í framendakóðann. Allir geta lesið framendakóða. Þá fá þeir allan gagnagrunninn þinn.
- Engar aðgangsathuganir. „Sýna pantanir mínar“ verður að sía eftir innskráðum notanda á þjóninum, ekki í viðmótinu. Þetta er algengasta öryggisgatið í gervigreindarsmíðuðum öppum; öryggisgátlistinn okkar fjallar um það.
- Eyðandi breytingar á skema. Ef þú biður um að „endurnefna töfluna“ eða „breyta uppbyggingunni“ gæti hún verið felld niður og búin til aftur. Þegar raunveruleg gögn eru til, segðu „færðu núverandi raðir yfir, ekki eyða neinu“.
- Að geyma skrár í gagnagrunninum. Myndir og PDF-skjöl eiga heima í skráageymslu, og aðeins slóð þeirra eða lykill fer í töflu. Sjá hvernig á að bæta skráaupphleðslu við appið.
- Engin afrit. Vitaðu hvernig vettvangurinn tekur afrit og hvernig þú endurheimtir gögn áður en þú ert kominn með viðskiptavini.
Gátlisti
- Hver tegund hluta hefur sína töflu með auðkenni og tímastimpli fyrir sköpun
- Skyldureitir og gerðir eru þvingaðar fram af gagnagrunninum
- Tengistrengurinn er aðeins í leyndarmálum á þjóninum
- Allar lestrar- og skrifaaðgerðir fara um þjónsleiðir
- Hver notandi getur aðeins lesið og breytt sínum eigin röðum
- Gögn lifa af endurhleðslu og birtast í öðrum vafra
- Breytingar á skema nota migrations og halda núverandi röðum
- Þú veist hvernig afrit og endurheimt virka
- Lifandi appið hefur verið prófað eftir birtingu
Gagnagrunnur í Mythex
Í Mythex getur hvert verkefni fengið sinn eigin sérstaka Postgres-gagnagrunn, bæði á Free og Pro. Þú smellir yfirleitt ekki á sérstakan hnapp til að tengja hann: biður um hann í spjallinu („vistaðu netföng biðlista í gagnagrunn“) eða skrifar /database, og tengingarupplýsingarnar eru settar inn í vinnusvæðið og birta appið þitt. Verkefnastillingarnar sýna hvort gagnagrunnur sé virkur.
Gagnagrunnurinn sefur eftir 5 mínútur án virkni og vaknar við næstu beiðni. Notkun í birtu appi er rukkuð fyrir þann tíma sem hann var raunverulega vakandi, af sömu inneignarstöðu og þú notar til smíðinnar. Ef þú bætir gagnagrunni við eftir að þú hefur birt, birtu aftur svo lifandi appið nái í hann.
Sjá Gagnagrunnur og uppskriftina Smíða CRUD-app í skjölunum. Fyrir innskráninguna sem heldur utan um gögn hvers notanda, lestu hvernig á að bæta innskráningu við appið.
Spurningar
Þarf ég gagnagrunn fyrir appið mitt?
Þú þarft einn um leið og appið þitt þarf að muna eitthvað á milli heimsókna eða deila gögnum á milli notenda: skráningar, pantanir, bókanir, færslur eða stillingar. Kyrrstæð vefsíða sem sýnir öllum sama efnið þarf ekki gagnagrunn.
Hvaða gagnagrunn ætti ég að nota fyrir lítið vefapp?
Tengslagagnagrunnur eins og Postgres er öruggur grunnvalkostur fyrir flest lítil vefapp. Hann ræður vel við notendur, pantanir, tengsl og skýrslugerð, er víða studdur og þú vex sjaldan upp úr honum í litlum skala.
Get ég geymt gögn í vafranum í stað gagnagrunns?
Geymsla í vafra, eins og localStorage, lifir aðeins á einu tæki, í einum vafra, og notandinn getur hreinsað hana hvenær sem er. Hún hentar fyrir stillingar eins og val á þema, en ekki fyrir neitt sem þú eða aðrir notendur þurfa að sjá síðar.
Fylgir gagnagrunnur með Mythex?
Já. Mythex-verkefni getur fengið sinn eigin Postgres-gagnagrunn á Free og Pro. Þú biður um hann í spjallinu eða notar skipunina /database, og tengingarupplýsingarnar eru settar inn fyrir þig. Notkunin er greidd af sömu inneignarstöðu og smíðin.