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