इस क्विकस्टार्ट में आपको यह पता चलेगा कि कैसे:
- अपने Firebase प्रोजेक्ट में Firebase डेटा कनेक्ट जोड़ें.
- विज़ुअल स्टूडियो के साथ-साथ डेवलपमेंट एनवायरमेंट को सेट अप करें प्रोडक्शन इंस्टेंस के साथ काम करने के लिए कोड एक्सटेंशन.
- इसके बाद, हम आपको बताएंगे कि:
- ईमेल ऐप्लिकेशन के लिए स्कीमा बनाएं और उसे प्रोडक्शन में डिप्लॉय करें.
- अपने स्कीमा के लिए क्वेरी और म्यूटेशन तय करें.
- अपने फ़ाइनल प्रोटोटाइप को प्रोडक्शन में डिप्लॉय करें.
ज़रूरी शर्तें
इस क्विकस्टार्ट का इस्तेमाल करने के लिए, आपको इन चीज़ों की ज़रूरत होगी.
- Linux, macOS या Windows
- विज़ुअल स्टूडियो कोड
अपने Firebase प्रोजेक्ट से कनेक्ट करना
- अगर आपने पहले से कोई Firebase प्रोजेक्ट नहीं बनाया है, तो एक Firebase प्रोजेक्ट बनाएं.
- Firebase कंसोल में जाकर, प्रोजेक्ट जोड़ें. इसके बाद, स्क्रीन पर दिए गए निर्देशों का पालन करें.
अपने प्रोजेक्ट को Blaze प्लान पर अपग्रेड करें. इसकी मदद से, Cloud SQL बनाया जा सकता है PostgreSQL इंस्टेंस के लिए.
Firebase कंसोल के Data Connect सेक्शन पर जाएं और प्रॉडक्ट के सेटअप वर्कफ़्लो को फ़ॉलो करें.
अपने CloudSQL for PostgreSQL डेटाबेस के लिए कोई जगह चुनें.
बाद में पुष्टि करने के लिए, प्रोजेक्ट, सेवा, और डेटाबेस के नाम और आईडी नोट करें.
बचे हुए सेटअप फ़्लो का पालन करें. इसके बाद, हो गया पर क्लिक करें.
डेवलपमेंट एनवायरमेंट चुनना और सेट अप करना
Data Connect में, प्रोटोटाइप बनाने के दो तरीके इस्तेमाल किए जा सकते हैं:
- अगर आप Kotlin Android या वेब डेवलपर हैं, तो आप वीएस कोड का इस्तेमाल कर सकते हैं स्थानीय तौर पर स्कीमा और ऑपरेशन को प्रोटोटाइप करने के लिए डेवलप करना Cloud SQL for PostgreSQL इंस्टेंस.
- अगर आप वेब डेवलपर हैं, तो आपके पास प्रोटोटाइप बनाने के लिए IDX Development का इस्तेमाल करने का विकल्प है में PostgreSQL के साथ पहले से कॉन्फ़िगर किए गए IDX टेंप्लेट का इस्तेमाल करके, डेटा कनेक्ट एम्युलेटर और क्विकस्टार्ट कोड के साथ वीएस कोड एक्सटेंशन अपने लिए सेट अप करें. आपको यहां ज़्यादा जानकारी मिलेगी Project IDX साइट.
यह क्विकस्टार्ट, बनाम कोड के एक्सटेंशन डेवलपमेंट फ़्लो पर फ़ोकस करता है. जारी रखने के लिए:
- अपने लोकल प्रोजेक्ट के लिए नई डायरेक्ट्री बनाएं.
- बनाम कोड को नई डायरेक्ट्री में खोलें.
Firebase स्टोरेज से, VSIX पैकेज के तौर पर बंडल किया गया एक्सटेंशन डाउनलोड करें.
बनाम कोड में, व्यू मेन्यू से एक्सटेंशन चुनें.
एक्सटेंशन पैनल के टाइटल बार पर, मेन्यू आइकॉन पर क्लिक करें more_horiz करके फिर फ़ॉलो करें VSIX से इंस्टॉल करें....
इसके अलावा, लोकल डेवलपमेंट के लिए, लोकल PostgreSQL डेटाबेस इंस्टॉल किया जा सकता है का इस्तेमाल कर सकते हैं. यह सेटअप इसके आखिर में शामिल है यह क्विकस्टार्ट गाइड है.
अपना लोकल प्रोजेक्ट सेट अप करना
सामान्य निर्देशों का पालन करके सीएलआई इंस्टॉल करें. अगर आपके पास एनपीएम है पहले से इंस्टॉल है, तो निम्न आदेश चलाएं:
npm install -g firebase-tools
अपनी प्रोजेक्ट डायरेक्ट्री सेट अप करना
अपना लोकल प्रोजेक्ट सेट अप करने के लिए, प्रोजेक्ट डायरेक्ट्री शुरू करें.
वीएस कोड के बाईं ओर दिए गए पैनल में, Firebase वीएस कोड एक्सटेंशन यूज़र इंटरफ़ेस (यूआई).
Firebase एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) में:
- पक्का करें कि आपने साइन इन किया हो.
- Firebase init चलाएं बटन पर क्लिक करें.
- प्रॉम्प्ट के लिए, VS कोड के निचले पैनल में Terminal टैब देखें.
- इस डायरेक्ट्री में इस्तेमाल करने के लिए, डेटा कनेक्ट को सुविधा के तौर पर चुनें.
- जब आपसे कहा जाए, तब वह डेटा कनेक्ट प्रोजेक्ट जिसे आपने पहले कंसोल में बनाया था.
स्कीमा बनाना
अपनी Firebase प्रोजेक्ट डायरेक्ट्री में, /dataconnect/schema/schema.gql
फ़ाइल में, ग्राफ़क्यूएल स्कीमा तय करना शुरू करें जिसमें उपयोगकर्ता और ईमेल शामिल हों.
उपयोगकर्ता
Data Connect में, ग्राफ़QL फ़ील्ड को कॉलम में मैप किया जाता है. उपयोगकर्ताओं के पास
uid
, name
और ईमेल address
. Data Connect कई सिग्नल की पहचान करता है,
प्रिमिटिव डेटा टाइप: String
और Date
.
नीचे दिए गए स्निपेट को कॉपी करें या फ़ाइल में मौजूद इससे जुड़ी लाइनों की टिप्पणी हटाएं.
# File `/dataconnect/schema/schema.gql`
type User @table(key: "uid") {
uid: String!
name: String!
address: String!
}
अगर कोई यूयूआईडी id
कुंजी नहीं है, तो डिफ़ॉल्ट रूप से Firebase डेटा कनेक्ट उसे जोड़ देगा
दिया गया है. हालांकि, इस मामले में आप मेरे uid
को प्राथमिक कुंजी बनाना चाहते हैं, जो
यह काम करने के लिए, @table(key: "uid")
डायरेक्टिव का इस्तेमाल करें.
ईमेल
अब आपके पास उपयोगकर्ता हैं, इसलिए आपके पास ईमेल को मॉडल करने का विकल्प है. यहां आप विज्ञापन की फ़ील्ड (या कॉलम) का उपयोग करें. हालांकि, इस बार हम प्राइमरी बटन नहीं जोड़ते हैं क्योंकि इसे मैनेज करने के लिए आप Data Connect पर भरोसा कर सकते हैं.
# File `/dataconnect/schema/schema.gql`
type Email @table {
subject: String!
sent: Date!
text: String!
from: User!
}
ध्यान दें कि from
फ़ील्ड को एक तरह के User
के हिसाब से मैप किया गया है.
Data Connect समझता है कि यह Email
के बीच का संबंध है
और User
आपके लिए इस संबंध को मैनेज करेंगे.
अपने स्कीमा को प्रोडक्शन में डिप्लॉय करना
अगर Firebase बनाम कोड एक्सटेंशन का इस्तेमाल करके, कैसे काम किया जा रहा है प्रोडक्शन डेटाबेस के लिए, आपको जारी रखने से पहले अपना स्कीमा डिप्लॉय करना होगा. इस तारीख के बाद अपने स्कीमा को अपने प्रोडक्शन डेटाबेस में डिप्लॉय करते समय, आपको कंसोल पर स्कीमा के बारे में बताता है.
- डिप्लॉय करने के लिए, Firebase बनाम कोड एक्सटेंशन का इस्तेमाल किया जा सकता है.
- एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) में, Firebase डेटा कनेक्ट पैनल के नीचे, क्लिक करें डिप्लॉय करें.
- आपको स्कीमा में हुए बदलावों की समीक्षा करनी पड़ सकती है और उन्हें अनुमति देनी पड़ सकती है कि वे नुकसान पहुंचा सकते हैं
बदलाव. आपसे यह करने के लिए कहा जाएगा:
firebase dataconnect:sql:diff
का इस्तेमाल करके स्कीमा में हुए बदलावों की समीक्षा करें- बदलावों से संतुष्ट होने के बाद, उन्हें इस फ़्लो का इस्तेमाल करके लागू करें
firebase dataconnect:sql:migrate
.
अपनी टेबल में डेटा जोड़ना
VS Code एडिटर पैनल में, आपको
/dataconnect/schema/schema.gql
में ग्राफ़क्यूएल टाइप. आपने डिप्लॉय किए हैं
अपने स्कीमा को प्रोडक्शन में रिकॉर्ड करते समय, आप डेटा जोड़ें और रन (प्रोडक्शन) का इस्तेमाल कर सकते हैं
बटन, बैकएंड पर आपके डेटाबेस में डेटा जोड़ते हैं.
User
और Email
टेबल में रिकॉर्ड जोड़ने के लिए:
schema.gql
में,User
टाइप के ऊपर मौजूद डेटा जोड़ें बटन पर क्लिक करें एलान के लिए उपलब्ध है.
- जनरेट होने वाली
User_insert.gql
फ़ाइल में, तीन फ़ील्ड. - Run (प्रोडक्शन) बटन पर क्लिक करें.
Email
टेबल में रिकॉर्ड जोड़ने के लिए, पिछले चरण को दोहराएं आपके उपयोगकर्ता काuid
,fromUid
फ़ील्ड में, जैसा कि जनरेट किए गएEmail_insert
म्यूटेशन.
अपनी क्वेरी परिभाषित करें
अब मज़ेदार बात है, क्वेरी. डेवलपर के तौर पर, आप एसक्यूएल लिखने के आदी हैं नहीं करना है, ताकि शुरुआत में यह कुछ अलग महसूस हो. हालांकि, रॉ एसक्यूएल की तुलना में ग्राफ़क्यूएल ज़्यादा छोटा और टाइप-सुरक्षित है. और हमारा वीएस कोड एक्सटेंशन विकास के अनुभव को आसान बनाता है.
/dataconnect/default-connector/queries.gql
फ़ाइल में बदलाव करना शुरू करें. अगर आपको
सभी ईमेल देखने के लिए, इस तरह की क्वेरी का इस्तेमाल करें.
# File `/dataconnect/default-connector/queries.gql`
query ListEmails @auth(level: NO_ACCESS) {
emails {
id, subject, text, sent
from {
name
}
}
}
आस-पास मौजूद CodeLens बटन का इस्तेमाल करके क्वेरी एक्ज़ीक्यूट करें.
इस डेटाबेस की विशेषता यह है कि इस तरह के डेटाबेस के
संबंध को दर्शाने की कोशिश करते हैं. ईमेल में एक from
फ़ील्ड है, जो
उपयोगकर्ता, आपके पास इस फ़ील्ड में नेस्ट करके उपयोगकर्ता के बारे में जानकारी वापस पाने का विकल्प है.
अपने स्कीमा और क्वेरी को प्रोडक्शन में डिप्लॉय करें
आपने डेवलपमेंट की प्रक्रिया में कई बार काम किया है. अब आप अपने Firebase वाले सर्वर से स्कीमा, डेटा, और क्वेरी एक्सटेंशन यूज़र इंटरफ़ेस (यूआई) या Firebase सीएलआई, जैसा आपने स्कीमा के साथ किया.
अगर डिप्लॉय करने के लिए Firebase बनाम कोड एक्सटेंशन का इस्तेमाल किया जाता है, तो सभी को डिप्लॉय करें पर क्लिक करें बटन.
डिप्लॉयमेंट के बाद, कंसोल पर अपने ऑपरेशन देखे और चलाए जा सकेंगे भी. आपकी डेटा कनेक्ट सेवा काम करने के लिए तैयार हो जाएगी से ग्राहक में बदलने की कोशिश कर रहे हैं. Cloud SQL for PostgreSQL इंस्टेंस, आखिर में डिप्लॉय किया गया जनरेट किया गया स्कीमा और डेटा.
(ज़रूरी नहीं) PostgreSQL को स्थानीय तौर पर इंस्टॉल करना
PostgreSQL को स्थानीय तौर पर इंस्टॉल करना और उसे एम्युलेटर के साथ इंटिग्रेट करना पूरी तरह से स्थानीय विकास वातावरण में प्रोटोटाइप.
आपके पास PostgreSQL का नया इंस्टेंस इंस्टॉल करने या किसी मौजूदा इंस्टेंस का इस्तेमाल करने का विकल्प है.
PostgreSQL इंस्टॉल करें
अपने प्लैटफ़ॉर्म पर दिए गए निर्देशों का पालन करके, PostgreSQL के वर्शन 15.x को इंस्टॉल करें.
- macOS पर इंस्टॉल किया जाएगा. Postgres.app डाउनलोड और इंस्टॉल करें.
- Windows: PostgreSQL डाउनलोड पेज से EDB इंस्टॉलर का इस्तेमाल करें.
- डॉकर: कार को खींचो और चलाओ
pgvector/pgvector:15
इमेज, जो PostgreSQL 15.x और वेक्टर सपोर्ट, दोनों के साथ आता है. - Linux: हम पिछली इमेज के साथ Docker इस्तेमाल करने का सुझाव देते हैं, लेकिन यह भी किया जा सकता है लोकप्रिय डिस्ट्रिब्यूशन के लिए अन्य निर्देशों का पालन करें.
इस दौरान होस्टनेम, पोर्ट, उपयोगकर्ता नाम, और पासवर्ड, और इनसे जुड़े पैरामीटर के आउटपुट नोट करें इंस्टॉल करने का क्रम तय करें.
अपने PostgreSQL इंस्टेंस से कनेक्ट करने के लिए, एम्युलेटर को इनकी ज़रूरत होगी:
- ये सेटअप कॉन्फ़िगरेशन पैरामीटर
- आपके
dataconnect.yaml
से लिया गया डेटाबेस का नाम और उससे जुड़ा नाम डेटाबेस को आपके लोकल इंस्टेंस में शुरू किया गया हो.
अपने लोकल PostgreSQL इंस्टेंस का इस्तेमाल करना
आप Data Connect एम्युलेटर की सेटिंग.
firebase setup:emulators:dataconnect
जब कहा जाए, तब PostgreSQL कनेक्शन स्ट्रिंग को इस फ़ॉर्मैट में डालें:
postgresql://postgresusername:postgrespassword@localhost:5432/postgresdatabase?sslmode=disable
.
कनेक्शन स्ट्रिंग के बारे में ज़्यादा जानने के लिए, यहां जाएं: PostgreSQL दस्तावेज़.
अपने लोकल PostgreSQL इंस्टेंस से कनेक्ट करें
यह कॉन्फ़िगरेशन पूरा करने के बाद, अपने लोकल डेटाबेस से कनेक्ट करने के लिए:
- बनाम कोड में, बाएं पैनल में, Firebase आइकॉन पर क्लिक करके Firebase बनाम कोड एक्सटेंशन यूज़र इंटरफ़ेस (यूआई).
- लोकल PostgreSQL से कनेक्ट करें बटन पर क्लिक करें.