如何管理Firebase中不同项目的数据库配置?

问题描述:

我有一个firebase项目,我用作我的移动应用程序的后端。这使用了写入和读取实时数据库的云功能。我最近需要将这些应用程序部署到我用于开发的新环境中,以便我可以继续使用我的应用程序,而不会意外打破用户的体验。如何管理Firebase中不同项目的数据库配置?

我firebaserc文件现在看起来如下:

{ 
    "projects": { 
     "prod": "my-cool-app", 
     "dev": "my-cool-app-dev" 
    } 
} 

我有现在的问题是,我的数据库配置是在代码本身硬编码如下:

var config = { 
    apiKey: "AIzaSomething something", 
    authDomain: "my-cool-app.firebaseapp.com", 
    databaseURL: "https://my-cool-app.firebaseio.com/" 
}; 

firebase.initializeApp(config); 

因为这不管我部署什么项目都不会改变,这意味着生产和开发最终都会写入同一个数据库。

我试图搜索如何处理不同的数据库配置,但没有运气。

+0

哪里的JavaScript代码共享你得到执行?如果它在云端函数中,您能分享显示您如何使用它的最小完整index.js吗? –

Firebase已将此配置数据分别添加到每个域。你可以在这里找到它https://yourDomain/__/firebase/init.json

阅读这篇博客来了解如何将用户它:https://firebase.googleblog.com/2017/04/easier-configuration-for-firebase-on-web.html

+0

这对web很好,但我使用的是不通过Web界面调用的云功能。 –

+0

使用以下命令配置云功能:admin.initializeApp(functions.config()。firebase);' 但是,首先您需要加载'import *作为函数从“firebase-functions”;和 'import *管理员从“firebase-admin”;' –