Firebase CLI एक ऐसा टूल है जिसकी मदद से, कमांड लाइन से Firebase के प्रॉडक्ट और सेवाओं को मैनेज और कॉन्फ़िगर किया जा सकता है.
सीएलआई में कई तरह के Data Connect टास्क पूरे करने के लिए कमांड उपलब्ध होती हैं. जैसे, नया Data Connect प्रोजेक्ट बनाना, उससे जुड़ी लोकल वर्किंग डायरेक्ट्री शुरू करना, Data Connect एम्युलेटर सेट अप करना, Data Connect संसाधन लिस्ट करना, क्लाइंट एसडीके जनरेट करना वगैरह.
सेटअप करने के निर्देश
Data Connect को Firebase प्रोजेक्ट में जोड़ना
firebase init
firebase init
का इस्तेमाल करके, नया लोकल प्रोजेक्ट कॉन्फ़िगरेशन सेट अप करें. इस वर्कफ़्लो से, आपकी डायरेक्ट्री में Firebase कॉन्फ़िगरेशन फ़ाइलें बनाई या अपडेट की जाती हैं.
firebase init
firebase init
फ़्लो में, सेवा और डेटाबेस सेट अप करने के बारे में बताया गया है. साथ ही, इसमें Data Connect एम्युलेटर इंस्टॉल करने और जनरेट किए गए SDK टूल को कॉन्फ़िगर करने के बारे में भी बताया गया है. हालांकि, यह ज़रूरी नहीं है.
सेवा और डेटाबेस का सेटअप
अगर आपने प्रॉडक्ट सेटअप के लिए dataconnect
चुना है, तो सीएलआई आपसे सेवा का नया नाम और जगह के बारे में पूछेगा. साथ ही, यह भी पूछेगा कि आपको मौजूदा Cloud SQL for PostgreSQL इंस्टेंस को लिंक करना है या नया इंस्टेंस बनाना है.
अगर कोई मौजूदा इंस्टेंस लिंक किया गया है, तो सीएलआई, IAM की पुष्टि करने और सार्वजनिक आईपी पतों जैसी काम करने वाली सेटिंग की जांच करता है.
Local Emulator Suite सेटअप
सीएलआई फ़्लो में, एम्युलेटर सेट अप करने का विकल्प मिलता है. इसमें Data Connect एम्युलेटर भी शामिल है.
Data Connect एम्युलेटर कमांड
Data Connect एम्युलेटर शुरू करें
emulators:start/exec
firebase emulators:start/exec
Local Emulator Suite वर्शन वाले Data Connect एम्युलेटर का इस्तेमाल करें. इसके लिए, 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 |
डेटा कनेक्ट करने की सुविधा के लिए, एक कनेक्टर डिप्लॉय करें. | |
–-only dataconnect:serviceId:schema |
डेटा कनेक्ट करने की तय की गई सेवा के लिए स्कीमा डिप्लॉय करता है. |
–-only
फ़्लैग की मदद से, कॉमा लगाकर अलग की गई वैल्यू पास की जा सकती हैं. इससे, आपको संसाधनों के किसी भी सबसेट को डिप्लॉय करने में मदद मिलती है.
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
डेटा कनेक्ट करने वाली सेवाओं, स्कीमा, और कनेक्टर की सूची बनाना
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
फ़ाइल के साथ कोई नया स्थानीय 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
कमांड चलाने पर, सीएलआई लागू होने वाले कनेक्टर को अपडेट करना शुरू कर देता है. सीएलआई, हर कनेक्टर में हुए बदलावों का विश्लेषण करता है. साथ ही, कनेक्टर में हुए ऐसे बदलावों के बारे में आकलन से जुड़े मैसेज जारी करता है जिनकी वजह से, क्लाइंट कोड के पिछले वर्शन में अनचाहा व्यवहार (मैसेज, चेतावनी वाले लेवल के होते हैं) या गड़बड़ियां (मैसेज, गड़बड़ी वाले लेवल के होते हैं) हो सकती हैं.
असर का आकलन | स्थिति |
---|---|
चेतावनी का लेवल (वायर के साथ काम करता है, व्यवहार में बदलाव हो सकता है) |
|
ब्रेकिंग-लेवल (वायर के साथ काम नहीं करता, क्लाइंट को नुकसान पहुंच सकता है) |
|
ब्रेकिंग-लेवल (वायर के साथ काम नहीं करता, क्लाइंट के साथ काम नहीं करेगा) |
|
इंटरैक्टिव एनवायरमेंट में, सीएलआई हर कनेक्टर के आकलन को दिखाता है. साथ ही, उन बदलावों के लिए प्रॉम्प्ट करता है जिन्हें आपको लागू करना है. --force
फ़्लैग पास करने का मतलब है कि आपने सभी आकलन स्वीकार कर लिए हैं.
बिना इंटरैक्टिव वाले एनवायरमेंट में:
- अगर सिर्फ़ चेतावनी के लेवल पर आकलन (व्यवहार में संभावित बदलाव) होते हैं, तो सभी कनेक्टर डिप्लॉय किए जाएंगे और चेतावनियों को टर्मिनल में लॉग किया जाएगा.
- अगर कोई भी उल्लंघन होता है, तो कोई कनेक्टर डिप्लॉय नहीं किया जाएगा. साथ ही, टर्मिनल में चेतावनियां लॉग की जाएंगी.
--force
फ़्लैग का इस्तेमाल करके, इसे बदला जा सकता है.
ऑडिट ऑथराइज़ेशन कोड
Data Connect, ऑथराइज़ेशन की रणनीति की ऑडिट करने में आपकी मदद करता है. इसके लिए, यह Firebase CLI से firebase deploy
का इस्तेमाल करके सर्वर पर डिप्लॉय करते समय, आपके कनेक्टर कोड का विश्लेषण करता है. इस ऑडिट का इस्तेमाल करके, अपने कोडबेस की समीक्षा की जा सकती है.
कनेक्टर डिप्लॉय करने पर, सीएलआई आपके कनेक्टर में मौजूद, बदले गए, और नए ऑपरेशन कोड के लिए आकलन दिखाएगा.
बदलाव की गई और नई कार्रवाइयों के लिए, सीएलआई चेतावनियां जारी करता है. साथ ही, नई कार्रवाइयों में कुछ ऐक्सेस लेवल का इस्तेमाल करने पर या उन ऐक्सेस लेवल का इस्तेमाल करने के लिए मौजूदा कार्रवाइयों में बदलाव करने पर, आपसे पुष्टि करने के लिए कहता है.
चेतावनी और प्रॉम्प्ट हमेशा इन मामलों में दिखते हैं:
PUBLIC
साथ ही, auth.uid
का इस्तेमाल करके फ़िल्टर नहीं जोड़ने पर, आपको इन ऐक्सेस लेवल पर चेतावनियां और प्रॉम्प्ट दिखेंगे:
USER
USER_ANON
USER_EMAIL_VERIFIED
अनुमति के बारे में ज़्यादा जानने के लिए, अनुमति और पुष्टि करने से जुड़ी गाइड देखें.
SDK टूल के कमांड
एसडीके जनरेट करना
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
इस कमांड से, connector.yaml में बताए गए टाइप किए गए SDK टूल जनरेट होते हैं.
वेब SDK टूल, Android SDK टूल, और iOS SDK टूल के साथ काम करने से जुड़ी गाइड भी देखें.
Command | ब्यौरा | |
---|---|---|
firebase dataconnect:sdk:generate |
फ़्लैग | ब्यौरा |
–-बार देखा गया |
यह कुकी, प्रोसेस को चालू रखती है. साथ ही, जब भी अपने स्कीमा और कनेक्टर की GQL फ़ाइलों में बदलाव सेव किए जाते हैं, तब नए SDK जनरेट करती है. अगर कोड जनरेट नहीं होता है, तो गड़बड़ियों को stdout में प्रिंट किया जाएगा. साथ ही, जनरेट किए गए कोड में कोई बदलाव नहीं किया जाएगा और कमांड चलती रहेगी. |
|
–-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
को शुरू करने पर, 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 में उपयोगकर्ता की भूमिकाएं लेख पढ़ें.
भूमिका | SQL भूमिका | अनुमतियां | इस्तेमाल | 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 की भूमिका वाला उपयोगकर्ता) से, खास अधिकारों वाली एसक्यूएल कमांड चलाने के लिए कहने का अनुरोध मिलेगा. |
यह अनुमति, roles/cloudsql.admin का इस्तेमाल करने वाले उपयोगकर्ताओं को दी जाती है. इसे Firebase सीएलआई से सीधे तौर पर नहीं दिया जा सकता |
Command | ब्यौरा | |
---|---|---|
firebase dataconnect:sql:grant |
फ़्लैग/पैरामीटर | ब्यौरा |
-R, --role role |
अनुमति देने के लिए एसक्यूएल रोल. इनमें से कोई एक: मालिक, लेखक या दर्शक. | |
-E, --email email_address |
उस उपयोगकर्ता या सेवा खाते का ईमेल पता जिसे भूमिका असाइन करनी है. |
ग्लोबल ऑप्शन
ये ग्लोबल विकल्प, सभी निर्देशों पर लागू होते हैं:
--json
, CLI आउटपुट को JSON में बदलता है, ताकि अन्य टूल इसे पार्स कर सकें.--noninteractive
और--interactive
, ज़रूरत के मुताबिक नॉन-टीटीवाय एनवायरमेंट का अपने-आप पता लगाने की सुविधा को बदल सकते हैं.