मैं फायरबेस क्ली से ऐप कैसे स्विच करूं?


100

यह कुछ ऐसा लगता है जिसे करना बहुत आसान होना चाहिए, लेकिन जो भी कारण हो, मैं हार रहा हूं।

मैं अपने डेटाबेस के साथ बातचीत करने के लिए फायरबेस-उपकरण सीएलआई का उपयोग करने की कोशिश कर रहा हूं। मैं बिना किसी परेशानी के लॉगिन करने में सक्षम हूं, और जब मैं टाइप करता हूंfirebase list हूं, मुझे अपने सभी वर्तमान ऐप की एक सूची मिलती है। यह मुझे यह भी बताता है कि मैं वर्तमान में किस ऐप से जुड़ा हूं।

मेरी समस्या यह है, मैं एक अन्य ऐप से जुड़ना चाहता हूं। मैं अपने स्टेजिंग ऐप पर क्वेरीज़ चला रहा हूं, और मुझे उन्हें अपने प्रोडक्शन ऐप पर चलाने की ज़रूरत है। मैं उत्पादन ऐप को सूची में देख सकता हूं, लेकिन मुझे उस ऐप पर स्विच करने का कोई तरीका नहीं मिल रहा है।

विचार?

जवाबों:



27

मैं स्क्रिप्ट का उपयोग करता हूं। इस तरह एक परियोजना संरचना पर विचार करें:

your-project
├── .firebaserc
└── functions
   ├── package.json
   └── index.js

.firebasercअगले उदाहरण पर जाएं और अनुसरण करें

{
  "projects": {
    "default": "project-name",
    "prod": "other-name"
  }
}

फिर package.jsonनिम्नलिखित स्क्रिप्ट्स पर जाएं changeToProdऔर ( और changeToDev) जोड़ें।

{
  ...
  "scripts": {
    ...
    "changeToProd": "firebase use prod",
    "changeToDev": "firebase use default"
  },
  "dependencies": {
    ...
  },
  ...
}

यदि आपकी IDE npm स्क्रिप्ट का समर्थन करती है तो आप उन्हें IDE UI का उपयोग करके चला सकते हैं, अन्यथा इसे कमांड कंसोल का उपयोग करके चलाया जा सकता है। सुनिश्चित करें कि आप functionsफ़ोल्डर के अंदर हैं ।

npm run-script changeToProd

आप टर्मिनल से निम्न कमांड चलाकर या वर्तमान स्क्रिप्ट में जोड़कर अपनी वर्तमान परियोजना को सत्यापित कर सकते हैं जैसा हमने अभी किया था

firebase use

आपका स्वागत है, मेरा दृष्टिकोण बाकी टीम के साथ
मिलनसार होना है

17

जिस निर्देशिका में आप चलते हैं firebase list, वहाँ एक फ़ाइल होगी, जिसे कहा जाएगा firebase.json। यदि आप उसे एक टेक्स्ट एडिटर में खोलते हैं, तो आपको वहां ऐप का नाम दिखाई देगा। आप इसे बदल सकते हैं या firebase.jsonऐप को बदलने के लिए हटा सकते हैं ।

या अपने आप को एक टेक्स्ट फ़ाइल को संपादित करने की परेशानी से बचाएं और जैसा कि जेसन कहते हैं: उपयोग करें firebase init


1
क्या अब कोई बदलाव है? क्योंकि मुझे फायरबेस में ऐप का नाम नहीं मिल रहा है। लेकिन इसे .firebaserc में ढूंढ सकते हैं .... स्पष्टीकरण की सराहना करें ...
अभिषेक

1
परियोजना का नाम .firebasercअब वास्तव में है।
फ्रैंक वैन पफेलन

2
गलत हो सकता है लेकिन यह डेटाबेस को स्विच करने के लिए प्रतीत नहीं होता है। तैनाती "वर्तमान" परियोजना के लिए तैनात होगी लेकिन यह अभी भी मूल डेटाबेस से डेटा खींचने के लिए लगता है। सुंदर लानत खतरनाक है अगर आप इसका उपयोग स्टेजिंग वातावरण से उत्पादन को अलग करने के लिए कर रहे हैं। आशा है कि कोई भी अपने ठेस डेटा खो देता है। :(
एरिक रिबास

1
मैं एक ही समस्या है कि @ एक अलग परियोजना पर होने के दौरान डिफ़ॉल्ट डेटाबेस तक पहुँचने के बारे में वर्णित किया गया है। क्या यह पता लगाने का कोई तरीका है कि क्लाइंट की ओर से किस परियोजना का उपयोग किया जा रहा है ताकि मैं एप्लिकेशन को उचित रूप से आरंभ करने के लिए कॉन्फ़िगरेशन को बदल सकूं?
Zectbumo

सुनिश्चित करें कि आप firebaseConfig को बदल दें। // आपके वेब ऐप का Firebase कॉन्फ़िगरेशन var firebaseConfig = {apiKey: "api-key", CortDomain: "new-project.firebeaeapp.com", databaseurL: "https: /new-project.firebaseio.com। ", projectId:" new-project-id ", storageBucket:" xxxxxxxxxxx.appspot.com ", मैसेजिंग सेंडरइडी:" xxxxxx ", appId:" xxxxxxxxxx ", मापक:" xxxxxxxx "}; // इनिशियलाइज़
फायरबेस

11

यदि आप खिड़कियों पर Node.js का उपयोग कर रहे हैं, तो आपका उत्तर होना चाहिए

firebase use <project_id>

लेकिन उदाहरण के बिना <>

firebase use chat-app-2a150

आप अपनी सभी परियोजनाओं को देखने के लिए निम्न कोड का उपयोग कर सकते हैं ताकि उपयोग करने के लिए सही प्रोजेक्ट आईडी चुन सकें

firebase projects:list

5

उत्तर 2020 में:

आधिकारिक तौर पर अनुशंसित तरीका "उपनाम" का उपयोग करना है:

अपने में .firebaserc, अलग प्रोजेक्ट आईडी सेट करें:

{
  "projects": {
    "production": "my-project-id",
    "testing": "my-project-id--testing"
  }
}
// you can also interactively add them with `firebase use --add`

तब आप firebase use testingया कर सकते हैंfirebase use production परियोजनाओं के बीच स्विच ।

ध्यान दें कि स्विचिंग प्रोजेक्ट्स कोई अंतर नहीं बनाएंगे, यह केवल आपके स्थानीय मशीन में याद किया जाता है। यह देखने के लिए कि वर्तमान में किस प्रोजेक्ट का उपयोग किया जा रहा है, चलाएंfirebase use

यदि आप प्रोजेक्ट के स्वामी को परिवर्तन किए बिना प्रोजेक्ट आईडी बदलना चाहते हैं .firebaserc, तो firebase use my-project-idस्थानीय रूप से स्वीकृत उत्तर में बताए अनुसार करें। दूसरी ओर, यदि आप परियोजना के स्वामी हैं और अपने स्वयं के परियोजना आईडी का उपयोग करने के लिए दूसरों चाहते हैं, आप जोड़ना चाहिए .firebasercमें .gitignore


3

आप बस एक कमांड लाइन स्विच का उपयोग कर सकते हैं

--project=my-firebase-project

1

जोड़ @ कटिको का जवाब

में package.json

"scripts": {
...
"prod": "echo \"Switch to Production environment\" && firebase use prod && npm run runtimeconfig",
"dev": "echo \"Switch to Development environment\" && firebase use default && npm run runtimeconfig"
...

npm run runtimeconfig कस्टम कॉन्फ़िगरेशन वातावरण प्राप्त करने के लिए

में .firebaserc

{
  "projects": {
    "default":"{project-dev-id}",
    "prod": "{project-prod-id}"
  }
}

0

Firebase ऐप डेस्टिनेशन प्रोजेक्ट को बदलने के लिए आप "firebase use myProjectName" टाइप कर सकते हैं। मैंने यह भी जाँचने के लिए उपरोक्त उत्तर "फायरबेस लिस्ट" का उपयोग किया कि मेरे पास क्या प्रोजेक्ट है (फायरबेस क्ले 7.4 में कोणीय 7 ऐप के साथ मेरे लिए काम)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.