डेटा कनेक्ट के लिए, Firebase सीएलआई कमांड का रेफ़रंस

Firebase CLI एक ऐसा टूल है जिसकी मदद से, कमांड-लाइन से Firebase के प्रॉडक्ट और सेवाओं को मैनेज और कॉन्फ़िगर किया जा सकता है.

सीएलआई में ऐसे निर्देश होते हैं जिनका इस्तेमाल कई तरह के Data Connect टास्क करने के लिए किया जा सकता है. जैसे, नया Data Connect प्रोजेक्ट बनाना, उससे जुड़ी लोकल वर्किंग डायरेक्ट्री को शुरू करना, Data Connect एमुलेटर सेट अप करना, Data Connect संसाधनों की सूची बनाना, क्लाइंट SDK जनरेट करना वगैरह.

सेटअप करने के लिए निर्देश

Data Connect को Firebase प्रोजेक्ट से जोड़ना

firebase init

नया स्थानीय प्रोजेक्ट कॉन्फ़िगरेशन सेट अप करने के लिए, firebase init का इस्तेमाल करें. यह वर्कफ़्लो, आपकी डायरेक्ट्री में Firebase कॉन्फ़िगरेशन फ़ाइलें बनाता है या अपडेट करता है.

firebase init

firebase init फ़्लो, सेवा और डेटाबेस को सेट अप करने के साथ-साथ, Data Connect एमुलेटर को इंस्टॉल करने और जनरेट किए गए एसडीके टूल को कॉन्फ़िगर करने में आपकी मदद करता है. हालांकि, ऐसा करना ज़रूरी नहीं है.

सेवा और डेटाबेस का सेटअप

अगर आपने प्रॉडक्ट सेटअप के लिए dataconnect चुना है, तो सीएलआई आपको नई सेवा का नाम और जगह पूछेगा. साथ ही, यह भी पूछेगा कि आपको 'PostgreSQL के लिए Cloud SQL' के किसी मौजूदा इंस्टेंस को लिंक करना है या नया इंस्टेंस बनाना है.

अगर कोई मौजूदा इंस्टेंस लिंक किया गया है, तो सीएलआई काम करने वाली सेटिंग की जांच करता है. जैसे, आईएएम पुष्टि और सार्वजनिक आईपी पते.

Local Emulator Suite सेटअप

सीएलआई फ़्लो में, Data Connect एम्युलेटर के साथ-साथ एम्युलेटर सेट अप करने का विकल्प भी मिलता है.

Data Connect एम्युलेटर के निर्देश

Data Connect एम्युलेटर शुरू करना

emulators:start/exec

firebase emulators:start/exec

Data Connect एमुलेटर के Local Emulator Suite वर्शन का इस्तेमाल, start के साथ इंटरैक्टिव मोड में या exec के साथ स्क्रिप्ट-ड्रिवन, नॉन-इंटरैक्टिव मोड में करें.

स्थानीय PostgreSQL डेटा को एक्सपोर्ट और इंपोर्ट करना

स्थानीय प्रोटोटाइप और टेस्टिंग के साथ-साथ, लगातार इंटिग्रेशन के लिए, किसी लोकल डेटाबेस इंस्टेंस में सेव किए गए डेटा को एक्सपोर्ट किया जा सकता है. साथ ही, उसे डेवलपमेंट के दौरान किए गए बदलावों और टेस्ट रन के बीच इंपोर्ट किया जा सकता है.

एक्सपोर्ट, आपके स्थानीय PostgreSQL डेटाबेस के स्नैपशॉट के तौर पर सेव किए जाते हैं.

Data Connect में, डेटा एक्सपोर्ट/इंपोर्ट करने के तीन तरीके उपलब्ध हैं:

  • आपके firebase.json में कॉन्फ़िगर किया गया, अपने-आप एक्सपोर्ट/इंपोर्ट होने की सुविधा, ताकि एमुलेटर के बंद होने और चालू होने पर स्नैपशॉट बैकअप मिल सके
  • सीएलआई का इस्तेमाल करके, मैन्युअल तरीके से डेटा एक्सपोर्ट/इंपोर्ट करना
  • VS Code एक्सटेंशन इंटरफ़ेस का इस्तेमाल करके, मैन्युअल तरीके से एक्सपोर्ट/इंपोर्ट करना

आपके firebase.json में कॉन्फ़िगर किया गया, डेटा अपने-आप एक्सपोर्ट और इंपोर्ट होना

डेवलपमेंट सेशन के बीच डेटा का बैक अप लेने के लिए, firebase init क्रम के दौरान, अपने-आप बैक अप लेने की जगह तय करें. यह जगह, आपके firebase.json में emulators.dataconnect.dataDir फ़ील्ड में सेव होती है. डेटा में किए गए सभी बदलाव, एमुलेटर के चलने के बीच अपने-आप यहां सेव हो जाएंगे. इसलिए, यह लोकल टेस्टिंग और एक्सप्लोरेशन के दौरान काम का है.

मैन्युअल तरीके से एक्सपोर्ट करना: emulators:export और emulators:start/exec --import

Data Connect एमुलेटर के चलने के दौरान, अपने डेटा का स्नैपशॉट सेव करने के लिए, किसी अलग टर्मिनल में firebase emulators:export कमांड चलाएं. इसके बाद, --import फ़्लैग का इस्तेमाल करके, उस स्नैपशॉट से एमुलेटर को शुरू किया जा सकता है.

# Export data from local emulator from a separate terminal
firebase emulators:export --only dataconnect <export_directory>

# Import data from local directory, here using emulators:exec
firebase emulators:exec ./<your-test-script>.sh --only dataconnect --import <import_directory>

मैन्युअल तरीके से एक्सपोर्ट/इंपोर्ट करना: VS Code एक्सटेंशन

एम्युलेटर के चलने के दौरान, VS Code एक्सटेंशन के यूज़र इंटरफ़ेस (यूआई) में, एम्युलेटर का डेटा एक्सपोर्ट करें बटन का इस्तेमाल करके, मौजूदा डेटाबेस का कॉन्टेंट एक्सपोर्ट करें. एक्सपोर्ट करने की डिफ़ॉल्ट जगह, आपकी प्रोजेक्ट डायरेक्ट्री के रूट में मौजूद exportedData डायरेक्ट्री होती है.

पिछले सेक्शन में बताए गए तरीके से, सीएलआई का इस्तेमाल करके इस डेटा को इंपोर्ट किया जा सकता है. VS Code से एमुलेटर शुरू करने से पहले भी, इस डेटा को इंपोर्ट किया जा सकता है. इसके लिए, एमुलेटर कॉन्फ़िगर करें लिंक पर क्लिक करें और इंपोर्ट पाथ सेट करें.

स्कीमा और कनेक्टर मैनेजमेंट के लिए निर्देश

इस सेक्शन में, स्कीमा और कनेक्टर को मैनेज करने के लिए इस्तेमाल किए जाने वाले कमांड के बारे में सीएलआई रेफ़रंस जानकारी दी गई है.

इन निर्देशों के इस्तेमाल के उदाहरणों और सुझाए गए तरीकों के बारे में जानने के लिए, स्कीमा और कनेक्टर मैनेजमेंट गाइड देखें.

स्कीमा और कनेक्टर डिप्लॉय करना

डिप्लॉय करना

firebase deploy

यह कमांड, firebase.json में इंडेक्स की गई Data Connect सेवाओं के लिए संसाधनों को डिप्लॉय करता है. अगर ज़रूरी हो, तो स्कीमा माइग्रेशन और कनेक्टर अपडेट किया जाता है.

Command जानकारी

firebase deploy

फ़्लैग करें जानकारी

–-only dataconnect

इस प्रोजेक्ट के लिए, Data Connect की सभी सेवाओं के लिए स्कीमा और कनेक्टर डिप्लॉय करें. हालांकि, Firebase के अन्य प्रॉडक्ट के संसाधनों को डिप्लॉय न करें.

–-only dataconnect:serviceId

चुनी गई Data Connect सेवा के लिए स्कीमा और कनेक्टर डिप्लॉय करें.

–-only dataconnect:serviceId:connectorId

किसी खास Data Connect सेवा के लिए, एक कनेक्टर डिप्लॉय करें.

–-only dataconnect:serviceId:schema

चुनी गई Data Connect सेवा के लिए स्कीमा को डिप्लॉय करें.

–-only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू पास की जा सकती हैं, ताकि आप अपने हिसाब से रिसॉर्स का कोई भी सबसेट डिप्लॉय कर सकें.

firebase deploy --only dataconnect:service1:schema,dataconnect:service2

Data Connect की सेवाओं, स्कीमा, और कनेक्टर की सूची बनाना

dataconnect:services:list

firebase dataconnect:services:list

यह कमांड, किसी प्रोजेक्ट पर डिप्लॉय की गई सेवाओं, स्कीमा, और कनेक्टर के बारे में बुनियादी जानकारी दिखाता है.

SQL स्कीमा की तुलना करना और उन्हें माइग्रेट करना

firebase deploy को चलाने पर, सीएलआई अपडेट डिप्लॉय करने से पहले, SQL स्कीमा की तुलना करता है. dataconnect:sql निर्देशों के सेट की मदद से, सीधे तुलना की जा सकती है और अपडेट किया जा सकता है.

dataconnect:sql:diff

firebase dataconnect:sql:diff

यह कमांड, किसी सेवा के लोकल स्कीमा की तुलना, उससे जुड़े Cloud SQL डेटाबेस के मौजूदा स्कीमा से करता है. यह उन निर्देशों को प्रिंट करता है जिन्हें डेटाबेस को आपके नए स्कीमा पर माइग्रेट करने के लिए चलाया जाएगा.

Command जानकारी

firebase dataconnect:sql:diff

फ़्लैग/पैरामीटर जानकारी

serviceId

सेवा की जानकारी दें. अगर इसे छोड़ा जाता है, तो firebase.json में सभी सेवाओं के लिए, बदलाव की जानकारी प्रिंट करें.

dataconnect:sql:migrate

firebase dataconnect:sql:migrate

यह कमांड, किसी सेवा के Cloud SQL डेटाबेस में स्थानीय स्कीमा के बदलावों को लागू करता है.

डिफ़ॉल्ट dataconnect.yaml फ़ाइल के साथ नया स्थानीय Data Connect प्रोजेक्ट सेट अप करने पर, dataconnect:sql:migrate कमांड का काम यह होता है कि वह बदलावों को लागू करने से पहले, आपको ज़रूरी बदलावों के लिए प्रॉम्प्ट करे. इसके बाद, वैकल्पिक बदलावों के लिए भी प्रॉम्प्ट करे. dataconnect.yaml कॉन्फ़िगरेशन को अपडेट करके, इस व्यवहार को बदला जा सकता है, ताकि वैकल्पिक बदलावों को हमेशा शामिल किया जा सके या उन्हें अनदेखा किया जा सके. इस बारे में स्क्रैमा को स्ट्रिक्ट या काम करने वाले मोड में माइग्रेट करना में बताया गया है

इंटरैक्टिव एनवायरमेंट में, सीएलआई हर माइग्रेशन एसक्यूएल स्टेटमेंट दिखाता है और यह भी बताता है कि वह डेटा को नुकसान पहुंचाता है या नहीं. साथ ही, आपको उन बदलावों के लिए प्रॉम्प्ट भी दिखाता है जिन्हें आपको लागू करना है. --force फ़्लैग पास करना, सभी प्रॉम्प्ट स्वीकार करने के बराबर है.

इंटरैक्टिव नहीं होने वाले एनवायरमेंट में:

  • --force के बिना, सिर्फ़ ऐसे बदलाव किए जाते हैं जिनसे डेटा में कोई नुकसान न हो. अगर कोई ऐसा बदलाव किया जाता है जिससे डेटा को नुकसान पहुंच सकता है, तो सीएलआई प्रोसेस को रद्द कर दिया जाता है और कोई बदलाव नहीं किया जाता.
  • --force का इस्तेमाल करके, सभी बदलाव किए जाते हैं. अगर इसमें कोई ऐसा बदलाव शामिल है जिससे डेटा को नुकसान पहुंच सकता है, तो उसे प्रिंट किया जाता है. साथ ही, आपसे पूछा जाता है कि क्या आपको जारी रखना है. ऐसा तब तक किया जाता है, जब तक --force फ़्लैग नहीं दिया जाता.
Command जानकारी

firebase dataconnect:sql:migrate

फ़्लैग करें जानकारी

serviceId

चुनी गई सेवा के लिए डेटाबेस को माइग्रेट करें. अगर आपके प्रोजेक्ट में सिर्फ़ एक सेवा है, तो serviceId का अनुमान लगाया जाता है.

–-force

प्रॉम्प्ट अपने-आप स्वीकार हो जाएं.

अन्य --only फ़्लैग की तरह ही, एक से ज़्यादा सेवाएं दी जा सकती हैं. इन्हें कॉमा लगाकर अलग किया जा सकता है.

किसी स्कीमा को स्ट्रिक्ट या कम्पैटबिलिटी मोड में माइग्रेट करना

Data Connect स्कीमा माइग्रेशन में, स्कीमा की पुष्टि करने के दो अलग-अलग मोड होते हैं: स्ट्रिक्ट और कंपैटबल. सख्त मोड में पुष्टि करने के लिए ज़रूरी है कि ऐप्लिकेशन स्कीमा को डिप्लॉय करने से पहले, डेटाबेस स्कीमा का ऐप्लिकेशन स्कीमा से पूरी तरह मेल खाना चाहिए. कंपैटबिलिटी मोड की पुष्टि करने के लिए ज़रूरी है कि डेटाबेस स्कीमा, ऐप्लिकेशन स्कीमा के साथ काम करता हो. इसका मतलब है कि आपके डेटाबेस में मौजूद उन एलिमेंट में कोई बदलाव नहीं किया जाएगा जिनका इस्तेमाल आपके ऐप्लिकेशन स्कीमा में नहीं किया जाता.

स्कीमा की पुष्टि करने के इन मोड और स्कीमा माइग्रेशन के सबसे सही तरीकों के बारे में, स्कीमा और कनेक्टर मैनेजमेंट गाइड में बताया गया है

पुष्टि करने के मोड को आपकी dataconnect.yaml फ़ाइल में मौजूद schemaValidation कुंजी का इस्तेमाल करके तय किया जाता है. अगर schemaValidation की वैल्यू नहीं दी गई है, तो सीएलआई, काम करने वाले बदलाव लागू करता है. साथ ही, ज़रूरी बदलाव लागू करने से पहले, आपसे अनुमति लेता है. कॉन्फ़िगरेशन का रेफ़रंस देखें.

कनेक्टर में किए गए बदलावों को मैनेज करना

firebase deploy को चलाने पर, सीएलआई, लागू होने वाले कनेक्टर को अपडेट करना शुरू करता है. सीएलआई, हर कनेक्टर में हुए बदलावों का विश्लेषण करता है और कनेक्टर में हुए ऐसे बदलावों के बारे में आकलन करने वाले मैसेज का एक सेट जारी करता है जिनकी वजह से क्लाइंट कोड के पिछले वर्शन में अनचाहा व्यवहार (मैसेज, चेतावनी-लेवल के होते हैं) या गड़बड़ियां (मैसेज, ब्रेकिंग-लेवल के होते हैं) हो सकती हैं.

असर का आकलन स्थिति
चेतावनी का लेवल (वायर के साथ काम करता है, व्यवहार में बदलाव हो सकता है)
  • @retired एनोटेशन के बिना, क्वेरी से वह फ़ील्ड हटाना जिसमें वैल्यू न होने की अनुमति है.
ब्रेकिंग-लेवल (वायर काम नहीं करता, क्लाइंट काम नहीं कर सकते)
  • शून्य हो सकने वाले वैरिएबल को डिफ़ॉल्ट वैल्यू के बिना, शून्य नहीं हो सकने वाले वैरिएबल में बदलना.
  • किसी फ़ील्ड के डेटा टाइप को JSON के साथ काम करने वाले किसी टाइप में बदलना (उदाहरण के लिए, Int से Float).
  • किसी नॉन-नल कॉलम को नल वैल्यू स्वीकार करने वाले कॉलम में बदलना.
  • @retired एनोटेशन के बिना, शून्य वैल्यू वाले वैरिएबल को हटाना.
  • @retired एनोटेशन के बिना, डिफ़ॉल्ट वैल्यू वाले ऐसे वैरिएबल को हटाना जो शून्य नहीं है.
ब्रेकिंग-लेवल (वायर के साथ काम नहीं करता, क्लाइंट काम नहीं करेंगे)
  • @retired एनोटेशन के बिना किसी ऑपरेशन को हटाना.
  • @retired एनोटेशन के बिना, क्वेरी से नॉन-नल फ़ील्ड को हटाना.
  • डिफ़ॉल्ट वैल्यू के बिना, नॉन-नल वैरिएबल जोड़ना.
  • किसी फ़ील्ड के डेटा टाइप को किसी ऐसे टाइप में बदलना जो काम नहीं करता (उदाहरण के लिए, String से Int).
  • बिना डिफ़ॉल्ट वैल्यू और @retired एनोटेशन वाले नॉन-शून्य वैरिएबल को हटाना.

इंटरैक्टिव एनवायरमेंट में, सीएलआई हर कनेक्टर का आकलन दिखाता है और उन बदलावों के लिए प्रॉम्प्ट करता है जिन्हें आपको लागू करना है. --force फ़्लैग को पास करना, सभी आकलन स्वीकार करने के बराबर है.

बिना इंटरैक्टिव वाले प्लैटफ़ॉर्म पर:

  • अगर सिर्फ़ चेतावनी-लेवल के आकलन (संभावित व्यवहार में बदलाव) होते हैं, तो सभी कनेक्टर डिप्लॉय कर दिए जाएंगे और चेतावनियां टर्मिनल में लॉग की जाएंगी.
  • अगर कोई ब्रेकिंग-लेवल आकलन होता है, तो कोई भी कनेक्टर डिप्लॉय नहीं किया जाएगा और चेतावनियां टर्मिनल में लॉग की जाएंगी. --force फ़्लैग की मदद से, इसे बदला जा सकता है.

ऑडिट के लिए ऑथराइज़ेशन कोड

Firebase क्लाइंट-साइड इंटरफ़ेस (सीएलआई) से firebase deploy का इस्तेमाल करके, सर्वर पर डिप्लॉय करने पर, Data Connect आपके कनेक्टर कोड का विश्लेषण करके, अनुमति देने की रणनीति का ऑडिट करने में आपकी मदद करता है. अपने कोडबेस की समीक्षा करने के लिए, इस ऑडिट का इस्तेमाल किया जा सकता है.

कनेक्टर डिप्लॉय करने पर, सीएलआई आपके कनेक्टर में मौजूदा, बदले गए, और नए ऑपरेशन कोड के लिए आकलन दिखाएगा.

बदली गई और नई कार्रवाइयों के लिए, CLI चेतावनियां जारी करता है और पुष्टि करने के लिए कहता है. ऐसा तब होता है, जब आपने नई कार्रवाइयों में कुछ ऐक्सेस लेवल का इस्तेमाल किया हो या उन ऐक्सेस लेवल का इस्तेमाल करने के लिए, मौजूदा कार्रवाइयों में बदलाव किया हो.

चेतावनियां और प्रॉम्प्ट हमेशा इनके लिए होते हैं:

  • PUBLIC

साथ ही, auth.uid का इस्तेमाल करके फ़िल्टर के साथ ऐक्सेस लेवल को बेहतर नहीं बनाने पर, चेतावनियां और प्रॉम्प्ट इन ऐक्सेस लेवल पर दिखते हैं:

  • USER
  • USER_ANON
  • USER_EMAIL_VERIFIED

अनुमति के बारे में ज़्यादा जानने के लिए, अनुमति और पुष्टि करने से जुड़ी गाइड देखें.

SDK टूल के निर्देश

SDK टूल जनरेट करना

dataconnect:sdk:generate

firebase dataconnect:sdk:generate

यह कमांड, connector.yaml में बताए गए टाइप किए गए SDK टूल जनरेट करता है.

वेब SDK टूल, Android SDK टूल, और iOS SDK टूल के साथ काम करने के लिए, गाइड भी देखें.

Command जानकारी

firebase dataconnect:sdk:generate

फ़्लैग करें जानकारी

–-watch

जब भी स्कीमा और कनेक्टर GQL फ़ाइलों में बदलाव किए जाते हैं, तो यह प्रोसेस चलती रहती है और नए SDK जनरेट करती है.

अगर कोड जनरेट नहीं हो पाता है, तो गड़बड़ियां स्टैंडर्ड आउटपुट पर प्रिंट हो जाएंगी. साथ ही, जनरेट किया गया कोड बदला नहीं जाएगा और कमांड चलता रहेगा.

–-only connectorId:platform

सिर्फ़ एक प्लैटफ़ॉर्म और एक कनेक्टर के लिए SDK टूल जनरेट करें.

–only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू दी जा सकती हैं.

firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin

Cloud SQL मैनेजमेंट कमांड

Cloud SQL के लिए SQL भूमिकाएं असाइन करना

Data Connect, Cloud SQL पर होस्ट किए गए आपके PostgreSQL इंस्टेंस पर काम करता है. SQL भूमिका के निर्देशों की मदद से, अपने डेटाबेस टेबल की अनुमतियां मैनेज की जा सकती हैं.

dataconnect:sql:setup

firebase dataconnect:sql:setup

यह कमांड, आपके डेटाबेस में टेबल के लिए शुरुआती और ग्लोबल अनुमतियां कॉन्फ़िगर करता है.

डेटाबेस की डिफ़ॉल्ट प्रोवाइज़निंग और मैनेजमेंट फ़्लो में यह माना जाता है कि आपका प्रोजेक्ट, नए (ग्रीनफ़ील्ड) डेटाबेस का इस्तेमाल करता है. firebase deploy को लागू करने पर, Data Connect डेटाबेस स्कीमा में किए जाने वाले बदलावों को दिखाएगा. साथ ही, आपके अनुमति देने के बाद, माइग्रेशन की प्रोसेस को पूरा करेगा. अगर यह आपका पसंदीदा फ़्लो है, तो dataconnect:sql:setupआपसे अनुमतियां मांगेगा. इनमें स्कीमा के मालिकाना हक से जुड़ी superuserअनुमतियां भी शामिल हैं.

मौजूदा (ब्राउनफ़ील्ड) डेटाबेस के लिए, स्कीमा को माइग्रेट करने का आपका वर्कफ़्लो हो सकता है. साथ ही, हो सकता है कि आप स्कीमा का मालिकाना हक खुद बनाए रखना चाहें. अगर यह आपका पसंदीदा फ़्लो है, तो dataconnect:sql:setup के प्रॉम्प्ट पर अस्वीकार करें. इस प्रॉम्प्ट में पूछा जाता है कि क्या Data Connect को आपके लिए एसक्यूएल माइग्रेशन मैनेज करना चाहिए. अनुमति न देने पर, Data Connect को आपकी डेटाबेस टेबल का सिर्फ़ read और write ऐक्सेस मिलेगा. हालांकि, स्कीमा का मालिकाना हक और माइग्रेशन की ज़िम्मेदारी आपकी ही रहेगी.

ज़्यादा चर्चा और इस्तेमाल के उदाहरणों के लिए, सेवाओं और डेटाबेस को मैनेज करना लेख पढ़ें.

dataconnect:sql:grant

firebase dataconnect:sql:grant

कुछ मामलों में, हो सकता है कि आप अपने Data Connect ऐप्लिकेशन से जनरेट किए गए डेटा को क्वेरी करने या अपडेट करने के लिए, सीधे अपने डेटाबेस को ऐक्सेस करना चाहें. ऐसा करने के लिए, आपको ज़रूरी उपयोगकर्ता या सेवा खाते को इस सेक्शन में बताई गई भूमिकाओं में से कोई एक भूमिका देनी होगी.

असाइन की गई भूमिकाओं के बारे में ज़्यादा जानने के लिए, PostgreSQL उपयोगकर्ता की भूमिकाएं देखें.

भूमिका एसक्यूएल भूमिका अनुमतियां इस्तेमाल Grantable
पाठक firebasereader_<db_name>_<schema_name> डेटाबेस का रीड ओनली ऐक्सेस.

तय किए गए स्कीमा में मौजूद सभी टेबल पर SELECT ऑपरेशन किए जा सकते हैं.
यह उन उपयोगकर्ताओं या सेवाओं के लिए सही है जिन्हें डेटा वापस पाने की ज़रूरत है, लेकिन डेटा में बदलाव नहीं करना है. हां
राइटर firebasewriter_<db_name>_<schema_name> डेटाबेस को पढ़ने और उसमें बदलाव करने का ऐक्सेस.

स्कीमा में मौजूद सभी टेबल पर, SELECT, INSERT, UPDATE, DELETE, और TRUNCATE ऑपरेशन किए जा सकते हैं.
यह उन उपयोगकर्ताओं या सेवाओं के लिए सही है जिन्हें डेटाबेस में डेटा में बदलाव करना है. हां
स्वामी firebaseowner_<db_name>_<schema_name> स्कीमा का मालिक.

के पास स्कीमा में मौजूद सभी टेबल और क्रम पर सभी खास अधिकार होते हैं.
IAM roles/cloudsql.client रोल के साथ मिलकर, यह रोल डेटाबेस पर माइग्रेशन करने की अनुमति देता है.

उदाहरण के लिए, firebase dataconnect:sql:migrate को कॉल करते समय.
हां
सुपर उपयोगकर्ता cloudsqlsuperuser डेटाबेस पर सभी खास अधिकारों के साथ, पहले से मौजूद सुपरयूज़र की भूमिका.

मालिक की अनुमतियों के अलावा, यह स्कीमा बना सकता है, स्कीमा को ड्रॉप कर सकता है, एक्सटेंशन इंस्टॉल कर सकता है, और एडमिन से जुड़े अन्य काम कर सकता है.

"firebasesuperuser" के तौर पर लॉग इन करके, CLI में ऐक्सेस किया जाता है.
एक्सटेंशन इंस्टॉल करने, शुरुआती स्कीमा बनाने, और अन्य उपयोगकर्ताओं को SQL की कोई भी भूमिका देने के लिए ज़रूरी है.

अगर किसी ऐसे उपयोगकर्ता को सुपर उपयोगकर्ता के खास अधिकारों की ज़रूरत है जो एडमिन नहीं है, तो माइग्रेशन पूरा नहीं होगा. साथ ही, उपयोगकर्ता को डेटाबेस एडमिन (यानी roles/cloudsql.admin की भूमिका वाला उपयोगकर्ता) से खास अधिकार वाले SQL कमांड चलाने के लिए कहने के लिए कहा जाएगा.
यह अनुमति roles/cloudsql.admin वाले उपयोगकर्ताओं को दी जाती है. इसे सीधे तौर पर Firebase सीएलआई से नहीं दिया जा सकता
Command जानकारी

firebase dataconnect:sql:grant

फ़्लैग/पैरामीटर जानकारी

-R, --role role

SQL की वह भूमिका जिसे आपको देना है. जैसे: मालिक, लेखक या पाठक.

-E, --email email_address

उस उपयोगकर्ता या सेवा खाते का ईमेल पता जिसे भूमिका देनी है.

ग्लोबल विकल्प

ये ग्लोबल विकल्प सभी निर्देशों पर लागू होते हैं:

  • --json, दूसरे टूल से पार्स करने के लिए, CLI आउटपुट को JSON में स्विच करता है.
  • ज़रूरत के हिसाब से, --noninteractive और --interactive, TTY के अलावा अन्य एनवायरमेंट का अपने-आप पता लगाने की सुविधा को बदल देते हैं.