तुमच्या ॲपमध्ये डेटाबेस कसा जोडायचा (पुढे डेटा न गमावता)
तुमच्या ॲपमध्ये डेटाबेस जोडण्यासाठी एक व्यवस्थापित रिलेशनल डेटाबेस निवडा (सामान्यतः Postgres), त्याची कनेक्शन स्ट्रिंग सर्व्हर-बाजूच्या सिक्रेटमध्ये ठेवा, तुमचे ॲप साठवत असलेल्या प्रत्येक प्रकारच्या गोष्टीसाठी एक टेबल तयार करा, आणि तुमच्या बॅकएंडने — ब्राउझरने नव्हे — त्यातून वाचन आणि लेखन करावे. तुम्ही AI ॲप बिल्डर वापरत असाल, तर सहसा फक्त "हा डेटा डेटाबेसमध्ये सेव्ह करा" असे म्हणा आणि एजंट टेबल्स व कोड तयार करेल; तुमचे काम म्हणजे डेटा स्पष्टपणे वर्णन करणे आणि तो खरोखर टिकतो का ते तपासणे.
हे मार्गदर्शक तुम्हाला डेटाबेस कधी लागतो, मुख्य पर्याय कोणते, तुमचा डेटा कसा वर्णन करायचा, आणि डेटा हरवणे किंवा गळती होण्यास कारणीभूत चुका कोणत्या हे सांगते.
तुमच्या ॲपला डेटाबेस कधी लागतो
पान बंद झाल्यानंतरही तुमच्या ॲपला काहीतरी लक्षात ठेवावे लागते, किंवा लोकांमध्ये डेटा शेअर करावा लागतो, तेव्हा डेटाबेस लागतो. ठराविक खुणा:
- अभ्यागत काहीतरी सबमिट करतात: फॉर्म, साइन-अप, बुकिंग किंवा ऑर्डर
- वापरकर्त्यांची स्वतःची सेव्ह केलेली सामग्री असलेली खाती असतात
- प्रशासकाला इतरांनी तयार केलेले किंवा बदललेले सर्व पाहायचे किंवा संपादित करायचे असते
- कालांतराने अहवाल किंवा मोजणी हवी असते
सर्वांना एकच सामग्री दिसणाऱ्या स्थिर साइटसाठी, जसे पोर्टफोलिओ किंवा साधे लँडिंग पेज, डेटाबेस लागत नाही. डेटाबेस म्हणजे नक्की काय हे माहीत नसेल, तर आधी डेटाबेस म्हणजे काय हे वाचा.
तुमचे पर्याय
| पर्याय | तो काय आहे | कशासाठी चांगला | तोटे |
|---|---|---|---|
| तुमच्या ॲप बिल्डरने दिलेला अंगभूत डेटाबेस | तुमच्या प्रोजेक्टसाठी तयार केलेला आणि जोडलेला डेटाबेस | AI बिल्डरने बनवलेले बहुतेक ॲप्स | त्या प्लॅटफॉर्मच्या होस्टिंगवर अवलंबून; एक्सपोर्ट आणि बॅकअप प्लॅटफॉर्मवर अवलंबून |
| व्यवस्थापित Postgres किंवा MySQL | तुम्ही वेगळे साइन अप करता असा होस्ट केलेला रिलेशनल डेटाबेस | तुम्ही स्वतः होस्ट करता ते ॲप्स, किंवा अनेक सेवा शेअर करतात असे | तुम्हाला की, कनेक्शन मर्यादा आणि प्लॅन स्वतः सांभाळावे लागतात |
| बॅकएंड-ॲज-अ-सर्व्हिस | एकाच उत्पादनात डेटाबेस, लॉगिन, स्टोरेज आणि API | फ्रंटएंडवर जास्त भर असलेले ॲप्स जे तयार लॉगिन हवे म्हणतात | शिकण्यासाठी अधिक विक्रेता-विशिष्ट संकल्पना |
| डॉक्युमेंट (NoSQL) डेटाबेस | लवचिक JSON-सदृश डॉक्युमेंट्स साठवतो | खूप अनियमित डेटा | नातेसंबंध आणि अहवाल बनवणे कठीण |
| डेटाबेस म्हणून स्प्रेडशीट | API द्वारे Google Sheets किंवा तत्सम | लहान अंतर्गत टूल्स, प्रोटोटाइप | संथ, खरे नियम नाहीत, एकाच वेळी होणाऱ्या बदलांत तुटते |
बहुतेक छोट्या आणि मध्यम वेब ॲप्ससाठी Postgres सारखा रिलेशनल डेटाबेस हा योग्य डीफॉल्ट आहे. तो नातेसंबंध चांगले हाताळतो (एका ग्राहकाच्या अनेक ऑर्डर असतात), डेटा सुसंगत ठेवतो, आणि नंतर SQL ने प्रश्नांची उत्तरे शोधू देतो. सोप्या भाषेत आढावा हवा असल्यास Postgres म्हणजे काय पहा.
बांधण्यापूर्वी तुमचा डेटा वर्णन करा
सर्वात उपयुक्त गोष्ट म्हणजे तुमचे ॲप साठवत असलेल्या गोष्टी आणि त्या एकमेकांशी कशा जोडल्या जातात हे लिहून ठेवणे. तुम्हाला डेटाबेसची भाषा येण्याची गरज नाही. बुकिंग ॲपसाठी:
- ग्राहक: नाव, ईमेल, फोन
- सेवा: नाव, कालावधी, किंमत
- बुकिंग: कोणता ग्राहक, कोणती सेवा, सुरू होण्याची वेळ, स्थिती (प्रलंबित, निश्चित, रद्द)
हे तीन टेबल्स झाले. "कोणता ग्राहक" आणि "कोणती सेवा" हे त्यांच्यातील लिंक्स (फॉरेन की) बनतात. यावर सुरुवातीलाच नीट विचार करणे कोणत्याही तंत्रज्ञान निवडीपेक्षा खूप महत्त्वाचे आहे, कारण खऱ्या ओळी असलेल्या डेटाचा आकार बदलणे पेज लेआउट बदलण्यापेक्षा कठीण असते.
काही सोपे नियम:
- प्रत्येक प्रकारच्या गोष्टीसाठी एक टेबल. ऑर्डर्स ग्राहकाच्या टेबलात मजकूर स्तंभात कोंबू नका.
- प्रत्येक ओळीला ID आणि तयार झाल्याची वेळ द्या. ती नंतर लागतात.
- योग्य प्रकार वापरा. तारखा तारखा म्हणून, पैसे पूर्ण सेंट्स किंवा दशांश प्रकारात, मजकूर म्हणून नाही.
- आवश्यक फील्ड्स आवश्यक म्हणून चिन्हांकित करा. चुकीचा डेटा फक्त फॉर्मने नव्हे, तर डेटाबेसने नाकारू द्या.
उदाहरण प्रॉम्प्ट्स
संपूर्ण स्कीमा एकदम न देता एका वेळी एक फीचर घ्या:
या ॲपमध्ये डेटाबेस जोडा. ग्राहकाचे नाव, ईमेल, सेवा, सुरू होण्याची वेळ आणि स्थिती (प्रलंबित, निश्चित, रद्द; डीफॉल्ट प्रलंबित) असलेले bookings टेबल तयार करा. बुकिंग फॉर्ममधील सबमिशन त्यात सेव्ह करा, यशाचा संदेश दाखवा, आणि सर्वात नवीन आधी दाखवणारे प्रशासक पान जोडा.
मग त्याचा विस्तार करा:
services टेबल जोडा (नाव, कालावधी मिनिटांत, किंमत सेंट्समध्ये). bookings मधील मोकळ्या मजकूराच्या सेवा फील्डच्या जागी services ची लिंक ठेवा, आणि जुने बुकिंग न हटवता त्यांचे स्थलांतर करा.
आणि ते कडक करा:
सर्व डेटाबेस वाचन आणि लेखन सर्व्हरवर होईल याची खात्री करा. कनेक्शन स्ट्रिंग कधीही ब्राउझरपर्यंत पोहोचू नये. इन्सर्ट करण्यापूर्वी सर्व्हरवर ईमेल आणि सुरू होण्याची वेळ तपासा.
टप्प्याटप्प्याने
- तुमचा डेटा यादी करा, वर सांगितल्याप्रमाणे: गोष्टी, फील्ड्स, त्यांच्यातील लिंक्स.
- डेटाबेस तयार करा. AI बिल्डरमध्ये चॅटमध्ये मागा. इतरत्र, व्यवस्थापित Postgres इन्स्टन्स तयार करा आणि त्याची कनेक्शन स्ट्रिंग कॉपी करा.
- कनेक्शन स्ट्रिंग सिक्रेट म्हणून साठवा (सर्व्हरवरील एन्व्हायर्नमेंट व्हेरिएबल), कधीही कोडमध्ये नाही. पहा एन्व्हायर्नमेंट व्हेरिएबल्स आणि सिक्रेट्स.
- टेबल्स तयार करा. मायग्रेशन्स वापरा — स्कीमा बदलणाऱ्या आवृत्ती-नियंत्रित स्क्रिप्ट्स — जेणेकरून बदल पुन्हा करता आणि उलटवता येतील.
- सर्व्हर राऊट्स बनवा जे ओळी तयार करतात, वाचतात, अद्ययावत करतात आणि हटवतात (CRUD). ब्राउझर हेच राऊट्स कॉल करतो; तो थेट डेटाबेसशी बोलत नाही.
- UI ला त्या राऊट्सशी जोडा: सेव्ह करणारे फॉर्म, लोड होणाऱ्या याद्या, आणि काहीच नसताना रिकामी स्थिती.
- सातत्य तपासा. काहीतरी सबमिट करा, पान रीलोड करा, वेगळ्या ब्राउझरमध्ये उघडा. डेटा नसेल, तर तो डेटाबेसमध्ये सेव्हच झाला नव्हता.
- प्रवेश तपासा. दुसऱ्या वापरकर्त्याने लॉग इन करा आणि पहिल्या वापरकर्त्याचा डेटा पाहता किंवा बदलता येत नाही याची खात्री करा.
- प्रकाशित करा, मग लाइव्ह URL वर पुन्हा तपासा, कारण प्रकाशित ॲप तुमच्या प्रीव्ह्यूपेक्षा वेगळे कनेक्शन वापरू शकते.
सामान्य चुका
- ब्राउझरमध्ये सेव्ह करून ते सेव्ह झाले असे समजणे. localStorage दुसऱ्या डिव्हाइसवर ॲप उघडेपर्यंत चालताना दिसतो. नेहमी दुसऱ्या ब्राउझरमध्ये तपासा.
- कनेक्शन स्ट्रिंग फ्रंटएंड कोडमध्ये ठेवणे. फ्रंटएंड कोड कोणीही वाचू शकतो. त्यामुळे त्यांना तुमचा संपूर्ण डेटाबेस मिळतो.
- प्रवेश तपासणी नसणे. "माझ्या ऑर्डर्स दाखवा" यासाठी UI मध्ये नव्हे, तर सर्व्हरवर लॉग इन केलेल्या वापरकर्त्यानुसार फिल्टर झाले पाहिजे. AI ने बांधलेल्या ॲप्समधील ही सर्वात सामान्य सुरक्षा त्रुटी आहे; आमची AI-बांधलेल्या ॲप्ससाठी सुरक्षा चेकलिस्ट हे कव्हर करते.
- विध्वंसक स्कीमा बदल. "टेबलचे नाव बदला" किंवा "रचना बदला" असे म्हटल्यास टेबल हटवून पुन्हा तयार होऊ शकते. खरा डेटा असेल तेव्हा म्हणा "विद्यमान ओळी स्थलांतरित करा, काहीही हटवू नका".
- डेटाबेसमध्ये फाइल्स साठवणे. इमेजेस आणि PDF फाइल स्टोरेजमध्ये ठेवा, टेबलमध्ये फक्त त्यांची URL किंवा की. पहा फाइल अपलोड कसे जोडायचे.
- बॅकअप नसणे. ग्राहक येण्यापूर्वी तुमचा प्लॅटफॉर्म डेटाचा बॅकअप कसा घेतो आणि तो कसा परत आणायचा हे जाणून घ्या.
चेकलिस्ट
- प्रत्येक प्रकारच्या गोष्टीचे स्वतःचे टेबल, ID आणि तयार झाल्याची वेळ असलेले
- आवश्यक फील्ड्स आणि प्रकार डेटाबेसकडून लागू होतात
- कनेक्शन स्ट्रिंग फक्त सर्व्हर-बाजूच्या सिक्रेट्समध्ये आहे
- सर्व वाचन आणि लेखन सर्व्हर राऊट्समधून जाते
- प्रत्येक वापरकर्ता फक्त स्वतःच्या ओळी वाचू आणि बदलू शकतो
- रीलोडनंतरही डेटा टिकतो आणि वेगळ्या ब्राउझरमध्येही दिसतो
- स्कीमा बदल मायग्रेशन्स वापरतात आणि विद्यमान ओळी जपतात
- बॅकअप आणि रिस्टोअर कसे चालतात हे तुम्हाला माहीत आहे
- प्रकाशित केल्यानंतर लाइव्ह ॲपची चाचणी झाली आहे
Mythex मध्ये डेटाबेस जोडणे
Mythex वर प्रत्येक प्रोजेक्टला स्वतःचा समर्पित Postgres डेटाबेस मिळू शकतो, Free आणि Pro दोन्हीवर. सहसा वेगळे "attach" बटण दाबावे लागत नाही: चॅटमध्ये विचारा ("वेटलिस्टचे ईमेल डेटाबेसमध्ये सेव्ह करा") किंवा /database टाइप करा, आणि कनेक्शनची माहिती वर्कस्पेसमध्ये आणि तुमच्या प्रकाशित ॲपमध्ये इंजेक्ट होते. डेटाबेस सक्रिय आहे की नाही हे प्रोजेक्ट सेटिंग्जमध्ये दिसते.
डेटाबेस 5 निष्क्रिय मिनिटांनंतर झोपतो आणि पुढील विनंतीवर जागा होतो. प्रकाशित वापराचे शुल्क तो प्रत्यक्षात जागा असलेल्या वेळेसाठी आकारले जाते, आणि बांधकामासाठी वापरता तोच क्रेडिट बॅलन्स वापरला जातो. तुम्ही आधीच प्रकाशित केल्यानंतर डेटाबेस जोडल्यास, लाइव्ह ॲपला तो मिळण्यासाठी पुन्हा प्रकाशित करा.
डॉक्समध्ये Database आणि Build a CRUD app रेसिपी पहा. वापरकर्ता-वैयक्तिक डेटाच्या लॉगिन बाजूसाठी, तुमच्या ॲपमध्ये लॉगिन कसे जोडायचे वाचा.
प्रश्न
माझ्या ॲपसाठी डेटाबेस लागतो का?
तुमच्या ॲपला भेटींच्या दरम्यान काहीतरी लक्षात ठेवायचे असेल किंवा वापरकर्त्यांमध्ये डेटा शेअर करायचा असेल, तर लगेच डेटाबेस लागतो: साइन-अप, ऑर्डर, बुकिंग, पोस्ट किंवा सेटिंग्ज. फक्त सर्वांना एकसारखा मजकूर दाखवणारी स्थिर वेबसाइट, जसे पोर्टफोलिओ किंवा साधे लँडिंग पेज, यासाठी डेटाबेस लागत नाही.
छोट्या वेब ॲपसाठी कोणता डेटाबेस वापरावा?
बहुतेक छोट्या वेब ॲपसाठी Postgres सारखा रिलेशनल डेटाबेस सुरक्षित पर्याय आहे. तो वापरकर्ते, ऑर्डर, नातेसंबंध आणि अहवाल चांगल्या प्रकारे हाताळतो, खूप व्यापकपणे समर्थित आहे, आणि लहान प्रमाणावर तुम्ही त्याच्या मर्यादेपलीकडे सहसा जात नाही.
डेटाबेसऐवजी डेटा ब्राउझरमध्ये साठवता येईल का?
localStorage सारखा ब्राउझर स्टोरेज फक्त एका डिव्हाइसवर, एकाच ब्राउझरमध्ये राहतो आणि वापरकर्ता तो कधीही साफ करू शकतो. थीमची निवड यासारख्या पसंतींसाठी ते ठीक आहे, पण तुम्हाला किंवा इतर वापरकर्त्यांना नंतर पाहायचा असलेला कोणताही डेटा त्यात ठेवू नका.
Mythex मध्ये डेटाबेस येतो का?
हो. Mythex प्रोजेक्टला Free आणि Pro दोन्हीवर स्वतःचा समर्पित Postgres डेटाबेस मिळू शकतो. चॅटमध्ये विचारा किंवा /database कमांड वापरा, आणि कनेक्शनची माहिती आपोआप इंजेक्ट होते. वापराचे पैसे बांधकामासाठी वापरल्या जाणाऱ्या त्याच क्रेडिट बॅलन्समधून भरले जातात.