మీ యాప్కి డేటాబేస్ ఎలా జోడించాలి (తర్వాత డేటా పోకుండా)
మీ యాప్కి డేటాబేస్ జోడించడానికి, మేనేజ్డ్ రిలేషనల్ డేటాబేస్ ఎంచుకోండి (సాధారణంగా Postgres), దాని కనెక్షన్ స్ట్రింగ్ను సర్వర్ వైపు సీక్రెట్లో ఉంచండి, మీ యాప్ నిల్వ చేసే ప్రతి రకం వస్తువుకు ఒక టేబుల్ సృష్టించండి, మరియు మీ బ్యాకెండ్ — బ్రౌజర్ కాదు — ఆ డేటాబేస్ని చదవడానికి, రాయడానికి వాడేలా చేయండి. AI యాప్ బిల్డర్తో తయారు చేస్తుంటే, సాధారణంగా "ఇది డేటాబేస్లో సేవ్ చేయి" అని చెప్పవచ్చు, ఏజెంట్ టేబుల్స్ మరియు కోడ్ సెటప్ చేస్తుంది; మీ పని డేటాను స్పష్టంగా వివరించడం, అది నిజంగా సేవ్ అవుతోందో లేదో తనిఖీ చేయడం.
ఈ గైడ్లో డేటాబేస్ ఎప్పుడు అవసరం, ప్రధాన ఆప్షన్లు, మీ డేటాను ఎలా వివరించాలి, మరియు డేటా పోవడానికి లేదా లీక్ కావడానికి కారణమయ్యే తప్పులు ఉన్నాయి.
మీ యాప్కి డేటాబేస్ ఎప్పుడు అవసరం
పేజీ మూసివేసిన తర్వాత కూడా మీ యాప్ ఏదైనా గుర్తుంచుకోవాలి, లేదా ప్రజల మధ్య డేటాను షేర్ చేయాలి అయితే డేటాబేస్ అవసరం. సాధారణ సంకేతాలు:
- సందర్శకులు ఏదైనా సమర్పిస్తారు: ఫారమ్, సైన్-అప్, బుకింగ్ లేదా ఆర్డర్
- యూజర్లకు తమదైన సేవ్ చేసిన కంటెంట్తో అకౌంట్లు ఉంటాయి
- అడ్మిన్ ఇతరులు సృష్టించిన దాన్ని చూడాలి లేదా ఎడిట్ చేయాలి
- కాలక్రమేణా రిపోర్ట్లు లేదా లెక్కలు కావాలి
అందరూ ఒకే కంటెంట్ చూసే స్టాటిక్ సైట్ — పోర్ట్ఫోలియో లేదా సింపుల్ ల్యాండింగ్ పేజీ లాంటిది — కి డేటాబేస్ అవసరం లేదు. డేటాబేస్ అంటే ఏమిటో మీకు తెలియకపోతే, ముందుగా డేటాబేస్ అంటే ఏమిటి చదవండి.
మీ ఆప్షన్లు
| ఆప్షన్ | ఏంటి | ఎందుకు మంచిది | ట్రేడ్-ఆఫ్లు |
|---|---|---|---|
| మీ యాప్ బిల్డర్ నుండి బిల్ట్-ఇన్ డేటాబేస్ | మీ ప్రాజెక్ట్ కోసం సృష్టించి కనెక్ట్ చేసిన డేటాబేస్ | AI బిల్డర్తో తయారు చేసిన చాలా యాప్లు | ఆ ప్లాట్ఫామ్ హోస్టింగ్కి ముడిపడి ఉంటుంది; ఎగుమతి మరియు బ్యాకప్లు ప్లాట్ఫామ్పై ఆధారపడతాయి |
| మేనేజ్డ్ Postgres లేదా MySQL | మీరు విడిగా సైన్ అప్ అయ్యే హోస్టెడ్ రిలేషనల్ డేటాబేస్ | మీరే హోస్ట్ చేసే యాప్లు, లేదా అనేక సర్వీసులు షేర్ చేసేవి | కీలు, కనెక్షన్ పరిమితులు, ప్లాన్లను మీరే నిర్వహించాలి |
| Backend-as-a-service | డేటాబేస్, ఆథ్, స్టోరేజ్ మరియు APIలు ఒకే ప్రొడక్ట్లో | ఎక్కువ ఫ్రంట్ఎండ్ యాప్లు రెడీమేడ్ లాగిన్ కోరుకునేవి | నేర్చుకోవాల్సిన వెండర్-నిర్దిష్ట భావనలు ఎక్కువ |
| డాక్యుమెంట్ (NoSQL) డేటాబేస్ | సరళమైన JSON లాంటి డాక్యుమెంట్లను నిల్వ చేస్తుంది | చాలా క్రమరహిత డేటా | సంబంధాలు మరియు రిపోర్టింగ్ కష్టం |
| స్ప్రెడ్షీట్ను డేటాబేస్గా | API ద్వారా Google Sheets లేదా ఇలాంటిది | చిన్న అంతర్గత టూల్స్, ప్రోటోటైప్లు | నెమ్మది, నిజమైన నియంత్రణలు లేవు, ఏకకాల ఎడిట్లలో విరిగిపోతుంది |
చాలా చిన్న మరియు మధ్యస్థ వెబ్ యాప్లకు, Postgres లాంటి రిలేషనల్ డేటాబేస్ సరైన డిఫాల్ట్. ఇది సంబంధాలను బాగా నిర్వహిస్తుంది (ఒక కస్టమర్కి అనేక ఆర్డర్లు ఉంటాయి), డేటాను స్థిరంగా ఉంచుతుంది, తర్వాత SQL తో ప్రశ్నలకు సమాధానాలు ఇస్తుంది. సరళ భాషలో వివరణ కోసం Postgres అంటే ఏమిటి చూడండి.
నిర్మించే ముందు మీ డేటాను వివరించండి
మీ యాప్ ఏ వస్తువులను నిల్వ చేస్తుందో, అవి ఎలా కలుస్తాయో రాసుకోవడం అత్యంత ఉపయోగకరమైన పని. డేటాబేస్ పరిభాష అవసరం లేదు. బుకింగ్ యాప్ కోసం ఉదాహరణ:
- కస్టమర్లు: పేరు, ఇమెయిల్, ఫోన్
- సర్వీసులు: పేరు, వ్యవధి, ధర
- బుకింగ్లు: ఏ కస్టమర్, ఏ సర్వీస్, ప్రారంభ సమయం, స్థితి (పెండింగ్, కన్ఫర్మ్, రద్దు)
ఇది మూడు టేబుల్స్. "ఏ కస్టమర్" మరియు "ఏ సర్వీస్" అనేవి వాటి మధ్య లింకులు (ఫారిన్ కీలు) అవుతాయి. దీన్ని ముందుగానే సరిగ్గా చేయడం ఏ టెక్నాలజీ ఎంపిక కన్నా చాలా ముఖ్యం, ఎందుకంటే అసలు వరుసలు ఉన్న డేటా ఆకారాన్ని మార్చడం పేజీ లేఅవుట్ మార్చడం కన్నా కష్టం.
కొన్ని సాధారణ సూత్రాలు:
- ప్రతి రకం వస్తువుకు ఒక టేబుల్. ఆర్డర్లను కస్టమర్ పై ఒక టెక్స్ట్ కాలమ్లో కుక్కకండి.
- ప్రతి వరుసకు ID మరియు సృష్టించిన సమయం ఇవ్వండి. రెండూ తర్వాత అవసరం అవుతాయి.
- సరైన రకాలు వాడండి. తేదీలు తేదీలుగా, డబ్బు పూర్ణ సెంట్లు లేదా డెసిమల్ రకంగా, టెక్స్ట్గా కాదు.
- అవసరమైన ఫీల్డ్లను అవసరమైనవిగా గుర్తించండి. చెడ్డ డేటాను ఫారమ్ మాత్రమే కాదు, డేటాబేస్ కూడా తిరస్కరించేలా చేయండి.
ఉదాహరణ ప్రాంప్ట్లు
మొత్తం స్కీమాను ఒకేసారి కాకుండా ఒక్కో ఫీచర్తో మొదలుపెట్టండి:
ఈ యాప్కి డేటాబేస్ జోడించు. కస్టమర్ పేరు, ఇమెయిల్, సర్వీస్, ప్రారంభ సమయం మరియు స్థితితో bookings టేబుల్ సృష్టించు (pending, confirmed, cancelled; డిఫాల్ట్ pending). బుకింగ్ ఫారమ్ నుండి సమర్పణలను దానిలో సేవ్ చేయి, విజయ సందేశం చూపించు, మరియు కొత్తవి ముందుగా వచ్చేలా బుకింగ్ల జాబితా చూపించే అడ్మిన్ పేజీ జోడించు.
తర్వాత దాన్ని విస్తరించండి:
services టేబుల్ జోడించు (పేరు, నిమిషాల్లో వ్యవధి, సెంట్లలో ధర). bookings లోని ఉచిత-టెక్స్ట్ సర్వీస్ ఫీల్డ్ని services కి లింక్తో మార్చు, ఉన్న బుకింగ్లను తొలగించకుండా మైగ్రేట్ చెయ్యి.
మరియు మరింత కట్టుదిట్టం చేయండి:
డేటాబేస్ రీడ్లు మరియు రైట్లు అన్నీ సర్వర్లోనే జరగాలి. కనెక్షన్ స్ట్రింగ్ బ్రౌజర్కి ఎప్పుడూ చేరకూడదు. ఇన్సర్ట్ చేయడానికి ముందు ఇమెయిల్ మరియు ప్రారంభ సమయాన్ని సర్వర్లో ధృవీకరించు.
దశల వారీగా
- మీ డేటాను జాబితా చేయండి పైన చెప్పినట్లు: వస్తువులు, ఫీల్డ్లు, వాటి మధ్య లింకులు.
- డేటాబేస్ సృష్టించండి. AI బిల్డర్లో చాట్లో అడగండి. మరెక్కడైనా, మేనేజ్డ్ Postgres ఇన్స్టాన్స్ సృష్టించి దాని కనెక్షన్ స్ట్రింగ్ కాపీ చేయండి.
- కనెక్షన్ స్ట్రింగ్ను సీక్రెట్గా నిల్వ చేయండి (సర్వర్లో ఎన్విరాన్మెంట్ వేరియబుల్), ఎప్పుడూ కోడ్లో కాదు. ఎన్విరాన్మెంట్ వేరియబుల్స్ మరియు సీక్రెట్లు చూడండి.
- టేబుల్స్ సృష్టించండి. మైగ్రేషన్లు వాడండి — స్కీమాను మార్చే వెర్షన్ చేయబడిన స్క్రిప్ట్లు — తద్వారా మార్పులు పునరావృతం చేయగలవు మరియు వెనక్కి తీసుకోగలవు.
- సర్వర్ రూట్లు నిర్మించండి వరుసలను సృష్టించడానికి, చదవడానికి, అప్డేట్ చేయడానికి మరియు తొలగించడానికి (CRUD). బ్రౌజర్ ఈ రూట్లను పిలుస్తుంది; అది డేటాబేస్తో నేరుగా మాట్లాడదు.
- UI ని ఆ రూట్లకు కనెక్ట్ చేయండి: సేవ్ చేసే ఫారమ్లు, లోడ్ అయ్యే జాబితాలు, ఇంకా ఏమీ లేనప్పుడు ఖాళీ స్థితులు.
- నిల్వను పరీక్షించండి. ఏదైనా సమర్పించండి, పేజీని రీలోడ్ చేయండి, వేరే బ్రౌజర్లో తెరవండి. డేటా అక్కడ లేకపోతే, అది డేటాబేస్లో సేవ్ కాలేదు.
- యాక్సెస్ తనిఖీ చేయండి. రెండవ యూజర్గా లాగిన్ అయ్యి, మొదటి యూజర్ డేటాను చూడలేరని లేదా ఎడిట్ చేయలేరని నిర్ధారించుకోండి.
- పబ్లిష్ చేయండి, తర్వాత లైవ్ URL లో మళ్లీ పరీక్షించండి, ఎందుకంటే పబ్లిష్ చేసిన యాప్ మీ ప్రివ్యూ కంటే వేరే కనెక్షన్ వాడవచ్చు.
సాధారణ తప్పులు
- బ్రౌజర్లో సేవ్ చేసి అది సేవ్ అయ్యిందని అనుకోవడం. localStorage పని చేసినట్లు కనిపిస్తుంది, కానీ ఎవరైనా వేరే పరికరంలో యాప్ తెరిచే వరకే. ఎల్లప్పుడూ రెండవ బ్రౌజర్లో పరీక్షించండి.
- కనెక్షన్ స్ట్రింగ్ను ఫ్రంట్ఎండ్ కోడ్లో పెట్టడం. ఫ్రంట్ఎండ్ కోడ్ ఎవరైనా చదవగలరు. అది వారికి మీ మొత్తం డేటాబేస్ ఇస్తుంది.
- యాక్సెస్ చెక్లు లేకపోవడం. "నా ఆర్డర్లు చూపించు" అనేది UI లో కాకుండా సర్వర్లో లాగిన్ అయిన యూజర్ ద్వారా ఫిల్టర్ కావాలి. AI తో తయారు చేసిన యాప్లలో ఇది అత్యంత సాధారణ భద్రతా లోపం; మా సెక్యూరిటీ చెక్లిస్ట్ దీన్ని కవర్ చేస్తుంది.
- ప్రమాదకరమైన స్కీమా మార్పులు. "టేబుల్ పేరు మార్చు" లేదా "నిర్మాణం మార్చు" అని అడిగితే అది టేబుల్ని తొలగించి మళ్లీ సృష్టించవచ్చు. అసలు డేటా ఉన్నప్పుడు, "ఉన్న వరుసలను మైగ్రేట్ చేయి, ఏదీ తొలగించవద్దు" అని చెప్పండి.
- ఫైళ్లను డేటాబేస్లో నిల్వ చేయడం. చిత్రాలు మరియు PDFలు ఫైల్ స్టోరేజ్లో ఉండాలి, టేబుల్లో వాటి URL లేదా కీ మాత్రమే. ఫైల్ అప్లోడ్లు ఎలా జోడించాలి చూడండి.
- బ్యాకప్లు లేకపోవడం. కస్టమర్లు రాకముందే, మీ ప్లాట్ఫామ్ డేటాను ఎలా బ్యాకప్ చేస్తుందో మరియు తిరిగి ఎలా పునరుద్ధరించాలో తెలుసుకోండి.
చెక్లిస్ట్
- ప్రతి రకం వస్తువుకు ID మరియు సృష్టించిన సమయంతో దాని స్వంత టేబుల్ ఉంది
- అవసరమైన ఫీల్డ్లు మరియు రకాలు డేటాబేస్ ద్వారా అమలవుతాయి
- కనెక్షన్ స్ట్రింగ్ సర్వర్ వైపు సీక్రెట్లలో మాత్రమే ఉంటుంది
- అన్ని రీడ్లు మరియు రైట్లు సర్వర్ రూట్ల ద్వారా వెళ్తాయి
- ప్రతి యూజర్ తన స్వంత వరుసలను మాత్రమే చదవగలరు మరియు మార్చగలరు
- రీలోడ్ తర్వాత డేటా ఉంటుంది మరియు వేరే బ్రౌజర్లో కనిపిస్తుంది
- స్కీమా మార్పులు మైగ్రేషన్లు వాడతాయి మరియు ఉన్న వరుసలను ఉంచుతాయి
- బ్యాకప్లు మరియు పునరుద్ధరణ ఎలా పనిచేస్తాయో మీకు తెలుసు
- పబ్లిష్ చేసిన తర్వాత లైవ్ యాప్ పరీక్షించబడింది
Mythex లో డేటాబేస్ జోడించడం
Mythex లో, ప్రతి ప్రాజెక్ట్కి తనకంటూ ప్రత్యేక Postgres డేటాబేస్ రావచ్చు, Free మరియు Pro రెండింటిలోనూ. సాధారణంగా విడిగా "attach" బటన్ నొక్కాల్సిన అవసరం లేదు: చాట్లో అడగండి ("waitlist ఇమెయిల్లను డేటాబేస్లో సేవ్ చేయి") లేదా /database టైప్ చేయండి, కనెక్షన్ వివరాలు వర్క్స్పేస్లోకి మరియు మీ పబ్లిష్ చేసిన యాప్లోకి ఇంజెక్ట్ అవుతాయి. ప్రాజెక్ట్ సెట్టింగ్స్లో డేటాబేస్ యాక్టివ్గా ఉందో లేదో కనిపిస్తుంది.
డేటాబేస్ 5 నిమిషాల నిష్క్రియ తర్వాత నిద్రపోతుంది, తదుపరి రిక్వెస్ట్కి మేల్కొంటుంది. పబ్లిష్ చేసిన వినియోగానికి, అది నిజంగా మెలకువగా ఉన్న సమయానికి మాత్రమే ఛార్జ్ అవుతుంది, అదే క్రెడిట్ బ్యాలెన్స్ నుండి మీరు బిల్డింగ్కి వాడేది. మీరు ఇప్పటికే పబ్లిష్ చేసిన తర్వాత డేటాబేస్ జోడిస్తే, లైవ్ యాప్ దాన్ని అందుకోవడానికి మళ్లీ పబ్లిష్ చేయండి.
డాక్స్లో Database మరియు Build a CRUD app రెసిపీ చూడండి. ప్రతి-యూజర్ డేటా యొక్క లాగిన్ వైపు కోసం, మీ యాప్కి లాగిన్ ఎలా జోడించాలి చదవండి.
ప్రశ్నలు
నా యాప్కి డేటాబేస్ అవసరమా?
మీ యాప్ సందర్శకుల మధ్య ఏదైనా గుర్తుంచుకోవాలి లేదా యూజర్ల మధ్య డేటా షేర్ చేయాలి అయితే వెంటనే అవసరం అవుతుంది: సైన్-అప్లు, ఆర్డర్లు, బుకింగ్లు, పోస్ట్లు లేదా సెట్టింగ్లు. అందరికీ ఒకే కంటెంట్ చూపించే స్టాటిక్ వెబ్సైట్కి డేటాబేస్ అవసరం లేదు.
చిన్న వెబ్ యాప్కి ఏ డేటాబేస్ వాడాలి?
Postgres లాంటి రిలేషనల్ డేటాబేస్ చాలా చిన్న వెబ్ యాప్లకు సురక్షితమైన డిఫాల్ట్. ఇది యూజర్లు, ఆర్డర్లు, సంబంధాలు, రిపోర్టింగ్ను బాగా నిర్వహిస్తుంది, విస్తృతంగా సపోర్ట్ ఉంది, చిన్న స్థాయిలో అది త్వరగా సరిపోకుండా పోదు.
డేటాబేస్ బదులు బ్రౌజర్లో డేటా సేవ్ చేయవచ్చా?
localStorage లాంటి బ్రౌజర్ స్టోరేజ్ ఒకే పరికరంలో, ఒకే బ్రౌజర్లో మాత్రమే ఉంటుంది, యూజర్ ఎప్పుడైనా క్లియర్ చేయవచ్చు. థీమ్ ఎంపిక లాంటి ప్రాధాన్యతలకు ఇది సరిపోతుంది, కానీ మీరు లేదా ఇతర యూజర్లు తర్వాత చూడాల్సిన దాని కోసం కాదు.
Mythex లో డేటాబేస్ ఉందా?
అవును. Mythex ప్రాజెక్ట్కి Free మరియు Pro లో తనకంటూ ప్రత్యేక Postgres డేటాబేస్ రావచ్చు. చాట్లో అడగండి లేదా /database కమాండ్ వాడండి, కనెక్షన్ వివరాలు మీ కోసం ఆటోమేటిక్గా ఇంజెక్ట్ అవుతాయి. వినియోగానికి బిల్డింగ్కి ఉపయోగించే అదే క్రెడిట్ బ్యాలెన్స్ నుండి చెల్లింపు జరుగుతుంది.