Firebase CLI एक ऐसा टूल है जिसकी मदद से, कमांड लाइन से Firebase के प्रॉडक्ट और सेवाओं को मैनेज और कॉन्फ़िगर किया जा सकता है.
सीएलआई में ऐसे कमांड होते हैं जिनका इस्तेमाल कई तरह के SQL Connect टास्क पूरे करने के लिए किया जा सकता है. जैसे, नया SQL Connect प्रोजेक्ट बनाना, उससे जुड़ी लोकल वर्किंग डायरेक्ट्री शुरू करना, SQL Connect एम्युलेटर सेट अप करना, SQL Connect संसाधन दिखाना, क्लाइंट एसडीके जनरेट करना वगैरह.
सेटअप करने के निर्देश
SQL Connect को Firebase प्रोजेक्ट में जोड़ना
firebase init
firebase init का इस्तेमाल करके, नया लोकल प्रोजेक्ट कॉन्फ़िगरेशन सेट अप करें. इस वर्कफ़्लो से, आपकी डायरेक्ट्री में Firebase कॉन्फ़िगरेशन फ़ाइलें बनाई या अपडेट की जाती हैं.
firebase initfirebase init फ़्लो में, आपको सेवा और डेटाबेस सेट अप करने के बारे में बताया जाता है. साथ ही, इसमें firebase init एम्युलेटर इंस्टॉल करने और जनरेट किए गए एसडीके को कॉन्फ़िगर करने के बारे में भी बताया जाता है. हालांकि, ये दोनों काम वैकल्पिक होते हैं.SQL Connect
सेवा और डेटाबेस का सेटअप
अगर आपने प्रॉडक्ट सेटअप के लिए dataconnect चुना है, तो सीएलआई आपसे नई सेवा का नाम और लोकेशन पूछेगा. साथ ही, यह भी पूछेगा कि PostgreSQL इंस्टेंस के लिए, मौजूदा dataconnect को लिंक करना है या नया इंस्टेंस बनाना है.Cloud SQL
अगर कोई मौजूदा इंस्टेंस लिंक किया गया है, तो सीएलआई, काम करने वाली सेटिंग की जांच करता है. जैसे, IAM की पुष्टि करने की सुविधा और सार्वजनिक आईपी पते.
Local Emulator Suite सेटअप करना
सीएलआई फ़्लो में, SQL Connect एम्युलेटर के साथ-साथ अन्य एम्युलेटर सेट अप करने का विकल्प मिलता है.
SQL Connect एम्युलेटर कमांड
SQL Connect एम्युलेटर शुरू करें
emulators:start/exec
firebase emulators:start/execstart या स्क्रिप्ट पर आधारित, नॉन-इंटरैक्टिव मोड के साथ इंटरैक्टिव मोड में SQL Connect एम्युलेटर के Local Emulator Suite वर्शन का इस्तेमाल करें. इसके अलावा, exec के साथ नॉन-इंटरैक्टिव मोड का इस्तेमाल करें.
PostgreSQL के लोकल डेटा को एक्सपोर्ट और इंपोर्ट करना
स्थानीय प्रोटोटाइपिंग, टेस्टिंग, और लगातार इंटिग्रेशन के लिए, स्थानीय डेटाबेस इंस्टेंस में सेव किए गए डेटा को एक्सपोर्ट किया जा सकता है. साथ ही, इसे डेवलपमेंट के अलग-अलग चरणों और टेस्ट रन के बीच इंपोर्ट किया जा सकता है.
एक्सपोर्ट किए गए डेटा को, आपके लोकल PostgreSQL डेटाबेस के स्नैपशॉट के तौर पर सेव किया जाता है.
SQL Connect में एक्सपोर्ट/इंपोर्ट करने के तीन तरीके उपलब्ध हैं:
- एम्युलेटर बंद होने और चालू होने पर स्नैपशॉट के बैकअप पाने के लिए,
firebase.jsonमें अपने-आप एक्सपोर्ट/इंपोर्ट होने की सुविधा कॉन्फ़िगर की जाती है - सीएलआई का इस्तेमाल करके मैन्युअल तरीके से एक्सपोर्ट/इंपोर्ट करना
- SQL Connect VS Code एक्सटेंशन इंटरफ़ेस का इस्तेमाल करके, मैन्युअल तरीके से एक्सपोर्ट/इंपोर्ट करना
आपके firebase.json खाते में, अपने-आप एक्सपोर्ट और इंपोर्ट होने की सुविधा कॉन्फ़िगर की गई हो
डेवलपमेंट सेशन के बीच डेटा का बैकअप लेने के लिए, firebase init सीक्वेंस के दौरान बैकअप की जगह अपने-आप सेट होने की सुविधा चालू करें. यह जगह, emulators.dataconnect.dataDir फ़ील्ड में आपके firebase.json में सेव की जाती है. डेटा में किए गए सभी बदलाव, एम्युलेटर रन के बीच अपने-आप सेव हो जाएंगे. इसलिए, यह लोकल टेस्टिंग और एक्सप्लोरेशन के दौरान काम आता है.
मैन्युअल तरीके से एक्सपोर्ट करना: emulators:export और emulators:start/exec --import
SQL 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>
मैन्युअल तरीके से एक्सपोर्ट/इंपोर्ट करना: SQL Connect VS Code एक्सटेंशन
एम्युलेटर के चालू होने पर, SQL Connect VS Code एक्सटेंशन के यूज़र इंटरफ़ेस (यूआई) में, एम्युलेटर डेटा एक्सपोर्ट करें बटन का इस्तेमाल करके, मौजूदा डेटाबेस के कॉन्टेंट को एक्सपोर्ट करें. एक्सपोर्ट करने की डिफ़ॉल्ट जगह, आपके प्रोजेक्ट डायरेक्ट्री के रूट में मौजूद exportedData डायरेक्ट्री होती है.
पिछले सेक्शन में बताए गए तरीके से, सीएलआई का इस्तेमाल करके इस डेटा को इंपोर्ट किया जा सकता है. VS Code के ज़रिए एम्युलेटर शुरू करने से पहले भी, इस डेटा को इंपोर्ट किया जा सकता है. इसके लिए, एम्युलेटर कॉन्फ़िगर करें लिंक पर क्लिक करें और इंपोर्ट पाथ सेट करें.
स्कीमा और कनेक्टर को मैनेज करने के लिए इस्तेमाल होने वाले निर्देश
इस सेक्शन में, स्कीमा और कनेक्टर मैनेज करने के लिए इस्तेमाल की जाने वाली कमांड के लिए, सीएलआई रेफ़रंस की जानकारी दी गई है.
इन कमांड के इस्तेमाल के उदाहरण और इनसे जुड़े सुझाए गए तरीके जानने के लिए, स्कीमा और कनेक्टर मैनेजमेंट गाइड देखें.
स्कीमा और कनेक्टर डिप्लॉय करना
डिप्लॉय करना
firebase deployइस कमांड से, SQL Connect सेवाओं के लिए संसाधन डिप्लॉय किए जाते हैं. ये सेवाएं, firebase.json में इंडेक्स की गई हैं. अगर ज़रूरी हो, तो स्कीमा माइग्रेशन और कनेक्टर अपडेट किया जाता है.
| Command | ब्यौरा | |
|---|---|---|
firebase deploy |
फ़्लैग | ब्यौरा |
–-only dataconnect |
इस प्रोजेक्ट के लिए, सभी SQL Connect सेवाओं के लिए स्कीमा और कनेक्टर डिप्लॉय करें. हालांकि, Firebase के अन्य प्रॉडक्ट के संसाधन डिप्लॉय न करें. | |
–-only dataconnect:serviceId |
बताई गई SQL Connect सेवा के लिए स्कीमा और कनेक्टर डिप्लॉय करता है. | |
–-only dataconnect:serviceId:connectorId |
चुनी गई SQL Connect सेवा के लिए, एक कनेक्टर डिप्लॉय करें. | |
–-only dataconnect:serviceId:schema |
बताई गई SQL Connect सेवा के लिए स्कीमा डिप्लॉय करें. | |
–-only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू पास की जा सकती हैं. इससे, आपको जिस भी संसाधन के सबसेट को डिप्लॉय करना है उसे डिप्लॉय किया जा सकता है.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2SQL Connect सेवाओं, स्कीमा, और कनेक्टर की सूची बनाना
dataconnect:services:list
firebase dataconnect:services:listइस कमांड से, किसी प्रोजेक्ट पर डिप्लॉय की गई सेवाओं, स्कीमा, और कनेक्टर के बारे में बुनियादी जानकारी मिलती है.
SQL स्कीमा की तुलना करना और उन्हें माइग्रेट करना
firebase deploy चलाने पर, सीएलआई अपडेट डिप्लॉय करने से पहले, एसक्यूएल स्कीमा की तुलना करता है. 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 फ़ाइल के साथ नया लोकल SQL Connect प्रोजेक्ट सेट अप करने पर, dataconnect:sql:migrate कमांड का काम यह होता है कि वह आपसे ज़रूरी बदलावों के लिए कहे. इसके बाद, बदलावों को लागू करने से पहले, वह आपसे वैकल्पिक बदलावों के लिए कहे. इस सेटिंग में बदलाव किया जा सकता है, ताकि हमेशा वैकल्पिक बदलावों को शामिल किया जा सके या उन्हें अनदेखा किया जा सके. इसके लिए, आपको dataconnect.yaml कॉन्फ़िगरेशन अपडेट करना होगा. इसके बारे में, सख्त या कंपैटिबल मोड में स्कीमा माइग्रेट करना लेख में बताया गया है
इंटरैक्टिव एनवायरमेंट में, सीएलआई हर माइग्रेशन एसक्यूएल स्टेटमेंट दिखाता है. साथ ही, यह भी दिखाता है कि क्या इससे डेटा को नुकसान पहुंच सकता है. इसके अलावा, यह उन बदलावों के बारे में भी पूछता है जिन्हें आपको लागू करना है.
--force फ़्लैग पास करने का मतलब है कि आपने सभी प्रॉम्प्ट स्वीकार कर लिए हैं.
नॉनइंटरैक्टिव एनवायरमेंट में:
--forceके बिना, सिर्फ़ ऐसे बदलाव किए जाते हैं जिनसे ओरिजनल इमेज पर कोई असर नहीं पड़ता. अगर डिस्ट्रक्टिव बदलाव किए जाते हैं, तो सीएलआई, बदलाव किए बिना ही बंद हो जाता है.--forceके साथ, सभी बदलाव किए जाते हैं. अगर इसमें कोई ऐसा बदलाव शामिल है जिससे डेटा मिट सकता है, तो उसे प्रिंट किया जाता है. साथ ही, आपसे पूछा जाता है कि क्या आपको जारी रखना है. हालांकि, ऐसा तब तक होता है, जब तक--forceफ़्लैग नहीं दिया जाता.
| Command | ब्यौरा | |
|---|---|---|
firebase dataconnect:sql:migrate |
फ़्लैग | ब्यौरा |
serviceId |
चुनी गई सेवा के लिए डेटाबेस माइग्रेट करें. अगर आपके प्रोजेक्ट में सिर्फ़ एक सेवा है, तो serviceId का अनुमान लगाया जाता है. | |
–-force |
प्रॉम्प्ट अपने-आप स्वीकार होने की सुविधा. | |
अन्य --only फ़्लैग की तरह, कॉमा लगाकर अलग की गई एक से ज़्यादा सेवाएं दी जा सकती हैं.
स्ट्रिक्ट या कंपैटिबल मोड में स्कीमा माइग्रेट करना
SQL Connect स्कीमा माइग्रेशन में, स्कीमा की पुष्टि करने के दो अलग-अलग मोड होते हैं: strict और compatible. स्ट्रिक्ट मोड की पुष्टि करने के लिए, यह ज़रूरी है कि डेटाबेस स्कीमा, ऐप्लिकेशन स्कीमा से पूरी तरह मेल खाए. ऐसा होने पर ही, ऐप्लिकेशन स्कीमा को डिप्लॉय किया जा सकता है. कंपैटिबल मोड की पुष्टि करने के लिए, यह ज़रूरी है कि डेटाबेस स्कीमा, ऐप्लिकेशन स्कीमा के साथ कंपैटिबल हो. इसका मतलब है कि आपके डेटाबेस में मौजूद ऐसे एलिमेंट में कोई बदलाव नहीं किया जाता जिनका इस्तेमाल आपके ऐप्लिकेशन स्कीमा में नहीं किया जाता.
स्कीमा की पुष्टि करने के इन मोड और स्कीमा माइग्रेशन के सबसे सही तरीकों के बारे में, स्कीमा और कनेक्टर मैनेजमेंट गाइड में बताया गया है
dataconnect.yaml फ़ाइल में मौजूद schemaValidation कुंजी का इस्तेमाल करके, पुष्टि करने का मोड तय किया जाता है. अगर schemaValidation की वैल्यू नहीं दी गई है, तो सीएलआई ऐसे बदलाव लागू करता है जो मौजूदा कॉन्फ़िगरेशन के साथ काम करते हैं. साथ ही, ज़्यादा ज़रूरी बदलावों को लागू करने से पहले आपको सूचना देता है. कॉन्फ़िगरेशन रेफ़रंस देखें.
कनेक्टर में किए गए बदलावों को मैनेज करना
firebase deploy कमांड चलाने पर, सीएलआई लागू होने वाले कनेक्टर्स को अपडेट करना शुरू कर देता है. सीएलआई, हर कनेक्टर में हुए बदलावों का विश्लेषण करता है. साथ ही, कनेक्टर में हुए ऐसे बदलावों के बारे में आकलन के मैसेज जारी करता है जिनकी वजह से, क्लाइंट कोड के पिछले वर्शन में अनचाहा व्यवहार (मैसेज, चेतावनी वाले लेवल के होते हैं) या गड़बड़ियां (मैसेज, गड़बड़ी वाले लेवल के होते हैं) हो सकती हैं.
| असर का आकलन | स्थिति |
|---|---|
| चेतावनी का लेवल (वायर के साथ काम करता है, व्यवहार में बदलाव हो सकता है) |
|
| ब्रेकिंग-लेवल (वायर के साथ काम नहीं करता, क्लाइंट के साथ काम नहीं कर सकता) |
|
| ब्रेकिंग-लेवल (वायर के साथ काम नहीं करता, क्लाइंट के साथ काम नहीं करेगा) |
|
इंटरैक्टिव एनवायरमेंट में, सीएलआई हर कनेक्टर के आकलन को दिखाता है. साथ ही, आपको उन बदलावों के बारे में सूचना देता है जिन्हें लागू करना है. --force फ़्लैग पास करने का मतलब है कि आपने सभी आकलन स्वीकार कर लिए हैं.
बिना किसी इंटरैक्शन वाले एनवायरमेंट में:
- अगर सिर्फ़ चेतावनी के लेवल पर आकलन (व्यवहार में संभावित बदलाव) होते हैं, तो सभी कनेक्टर डिप्लॉय किए जाएंगे और चेतावनियों को टर्मिनल में लॉग किया जाएगा.
- अगर कोई भी उल्लंघन होता है, तो कोई कनेक्टर डिप्लॉय नहीं किया जाएगा. साथ ही, टर्मिनल में चेतावनियां लॉग की जाएंगी.
--forceफ़्लैग का इस्तेमाल करके, इसे बदला जा सकता है.
ऑडिट ऑथराइज़ेशन कोड
SQL Connect की मदद से, ऑथराइज़ेशन की रणनीति की ऑडिट की जा सकती है. इसके लिए, Firebase CLI से firebase deploy का इस्तेमाल करके सर्वर पर डिप्लॉय करते समय, कनेक्टर कोड का विश्लेषण किया जाता है. इस ऑडिट का इस्तेमाल करके, अपने कोडबेस की समीक्षा की जा सकती है.
कनेक्टर डिप्लॉय करने पर, सीएलआई आपके कनेक्टर में मौजूद, बदले गए, और नए ऑपरेशन कोड के लिए आकलन दिखाएगा.
बदलाव की गई और नई कार्रवाइयों के लिए, सीएलआई चेतावनियां जारी करता है. साथ ही, नई कार्रवाइयों में कुछ ऐक्सेस लेवल का इस्तेमाल करने पर या उन ऐक्सेस लेवल का इस्तेमाल करने के लिए मौजूदा कार्रवाइयों में बदलाव करने पर, आपसे पुष्टि करने के लिए कहता है.
चेतावनी और प्रॉम्प्ट हमेशा इन मामलों में दिखते हैं:
PUBLIC
साथ ही, auth.uid का इस्तेमाल करके फ़िल्टर नहीं जोड़ने पर, आपको इन ऐक्सेस लेवल पर चेतावनियां और प्रॉम्प्ट दिखेंगे:
USERUSER_ANONUSER_EMAIL_VERIFIED
अनुमति के बारे में ज़्यादा जानने के लिए, अनुमति और पुष्टि करने से जुड़ी गाइड देखें.
एसडीके टूल के निर्देश
एसडीके जनरेट करना
dataconnect:sdk:generate
firebase dataconnect:sdk:generateइस कमांड से, connector.yaml में बताए गए टाइप किए गए SDK टूल जनरेट होते हैं.
वेब एसडीके, Android एसडीके, और iOS एसडीके के साथ काम करने से जुड़ी गाइड भी देखें.
| Command | ब्यौरा | |
|---|---|---|
firebase dataconnect:sdk:generate |
फ़्लैग | ब्यौरा |
–-बार देखा गया |
यह प्रोसेस को चालू रखता है और जब भी अपने स्कीमा और कनेक्टर की GQL फ़ाइलों में बदलाव सेव किए जाते हैं, तब नए SDK जनरेट करता है. अगर कोड जनरेट नहीं हो पाता है, तो गड़बड़ियों को stdout में प्रिंट किया जाएगा. साथ ही, जनरेट किए गए कोड में कोई बदलाव नहीं किया जाएगा और कमांड चलती रहेगी. |
|
–-only connectorId:platform |
सिर्फ़ एक प्लैटफ़ॉर्म और एक कनेक्टर के लिए एसडीके जनरेट करें. | |
–only फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू पास की जा सकती हैं.
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlinCloud SQL मैनेज करने से जुड़े निर्देश
Cloud SQL के लिए एसक्यूएल भूमिकाएं असाइन करना
SQL Connect, Cloud SQL पर होस्ट किए गए आपके PostgreSQL इंस्टेंस पर काम करता है. SQL रोल कमांड की मदद से, डेटाबेस टेबल पर अनुमतियां मैनेज की जा सकती हैं.
dataconnect:sql:setup
firebase dataconnect:sql:setupयह कमांड, आपके डेटाबेस में मौजूद टेबल के लिए शुरुआती और ग्लोबल अनुमतियां कॉन्फ़िगर करती है.
डिफ़ॉल्ट डेटाबेस प्रोविज़निंग और मैनेजमेंट फ़्लो यह मानता है कि आपका प्रोजेक्ट, नए (ग्रीनफ़ील्ड) डेटाबेस का इस्तेमाल करता है. साथ ही, firebase deploy को शुरू करने पर, firebase deploy आपको डेटाबेस स्कीमा में किए जाने वाले बदलाव दिखाएगा. इसके अलावा, आपके अनुमति देने के बाद, सभी माइग्रेशन करेगा.SQL Connect अगर आपको यह तरीका पसंद है, तो dataconnect:sql:setup आपको अनुमतियां देने के लिए कहता है. इनमें superuser स्कीमा का मालिकाना हक शामिल है.
मौजूदा (ब्राउनफ़ील्ड) डेटाबेस के लिए, आपके पास स्कीमा माइग्रेट करने का अपना वर्कफ़्लो हो सकता है. साथ ही, आपको स्कीमा का मालिकाना हक खुद के पास रखना हो सकता है. अगर आपको यह तरीका पसंद है, तो dataconnect:sql:setup प्रॉम्प्ट में अस्वीकार करें पर क्लिक करें. इस प्रॉम्प्ट में पूछा जाता है कि क्या SQL Connect को आपके लिए एसक्यूएल माइग्रेशन को मैनेज करना चाहिए.
अनुरोध अस्वीकार करने पर, SQL Connect को सिर्फ़ read और write के डेटाबेस टेबल का ऐक्सेस मिलेगा. हालांकि, स्कीमा का मालिकाना हक और माइग्रेशन की ज़िम्मेदारी आपकी ही रहेगी.
ज़्यादा चर्चा और इस्तेमाल के उदाहरणों के लिए, सेवाएं और डेटाबेस मैनेज करना लेख पढ़ें.
dataconnect:sql:grant
firebase dataconnect:sql:grantकुछ मामलों में, आपको अपने डेटाबेस को सीधे तौर पर ऐक्सेस करने की ज़रूरत पड़ सकती है. ऐसा SQL Connect ऐप्लिकेशन से जनरेट हुए डेटा को अपडेट करने या उससे जुड़ी क्वेरी करने के लिए किया जाता है. इसके लिए, आपको इस सेक्शन में बताई गई भूमिकाओं में से कोई एक भूमिका, उस उपयोगकर्ता या सेवा खाते को असाइन करनी होगी जिसे इसकी ज़रूरत है.
दी गई भूमिकाओं के बारे में जानने के लिए, PostgreSQL में उपयोगकर्ता की भूमिकाएं लेख पढ़ें.
| भूमिका | SQL भूमिका | अनुमतियां | इस्तेमाल | भूमिका असाइन की जा सकती है |
|---|---|---|---|---|
| रीडर | 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 की भूमिका वाला उपयोगकर्ता) से, खास अधिकार वाली एसक्यूएल कमांड चलाने के लिए कहने का अनुरोध मिलेगा. |
यह अनुमति, roles/cloudsql.admin का इस्तेमाल करने वाले उपयोगकर्ताओं को दी जाती है. इसे Firebase सीएलआई से सीधे तौर पर नहीं दिया जा सकता |
| Command | ब्यौरा | |
|---|---|---|
firebase dataconnect:sql:grant |
फ़्लैग/पैरामीटर | ब्यौरा |
-R, --role role |
अनुमति देने के लिए एसक्यूएल भूमिका. इनमें से कोई एक: मालिक, लेखक या रीडर. | |
-E, --email email_address |
उस उपयोगकर्ता या सेवा खाते का ईमेल पता जिसे भूमिका असाइन करनी है. | |
ग्लोबल ऑप्शन
यहां दिए गए ग्लोबल विकल्प, सभी निर्देशों पर लागू होते हैं:
--jsonसे, CLI के आउटपुट को JSON में बदला जाता है, ताकि अन्य टूल उसे पार्स कर सकें.--noninteractiveऔर--interactiveकी मदद से, ज़रूरत के मुताबिक नॉन-टीटीवाय एनवायरमेंट का अपने-आप पता लगने की सुविधा को बदलें.