如何从firebase cli切换应用程序?

wvm*_*008 63 firebase firebase-tools

这似乎很容易做到,但无论出于何种原因,我都被打败了.

我正在尝试使用firebase-tools CLI与我的数据库进行交互.我能够毫无困难地登录,当我输入时firebase list,我会得到所有当前应用程序的列表.它还告诉我我当前连接的应用程序.

我的问题是,我想连接到其他应用程序之一.我在我的暂存应用程序上运行查询,我需要在我的生产应用程序上运行它们.我可以在列表中看到生产应用程序,但我找不到任何方法切换到该应用程序.

思考?

J10*_*100 148

Firebase CLI参考中找到了一些有用的信息.

以下代码适用于我.

firebase use <project_id>
Run Code Online (Sandbox Code Playgroud)


小智 20

如果你在 Windows 上使用 Node.js,你的答案应该是

firebase use <project_id>
Run Code Online (Sandbox Code Playgroud)

但没有 <> 例如

firebase use chat-app-2a150
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码查看所有项目,以便选择要使用的正确项目 ID

firebase projects:list
Run Code Online (Sandbox Code Playgroud)


cut*_*iko 18

我宁愿使用脚本.考虑这样的项目结构:

your-project
??? .firebaserc
??? functions
   ??? package.json
   ??? index.js
Run Code Online (Sandbox Code Playgroud)

转到.firebaserc并按照下一个示例操作

{
  "projects": {
    "default": "project-name",
    "prod": "other-name"
  }
}
Run Code Online (Sandbox Code Playgroud)

然后转到package.json并添加以下脚本(changeToProd,和changeToDev).

{
  ...
  "scripts": {
    ...
    "changeToProd": "firebase use prod",
    "changeToDev": "firebase use default"
  },
  "dependencies": {
    ...
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

如果您的IDE支持npm脚本,则可以使用IDE UI运行它们,否则可以使用命令控制台运行它们.确保您在functions文件夹中.

npm run-script changeToProd
Run Code Online (Sandbox Code Playgroud)

您可以通过从终端运行以下命令来验证当前项目,或者像我们刚才那样添加到脚本中

firebase use
Run Code Online (Sandbox Code Playgroud)


Fra*_*len 14

在您运行的目录中firebase list,将有一个名为的文件firebase.json.如果您在文本编辑器中打开它,您将在那里看到应用程序名称.您可以在那里更改或删除firebase.json以更改应用程序.

或者节省编辑文本文件的麻烦,并像杰森所说的那样:使用firebase init.

  • 项目名称现在确实在`.firebaserc` 中。 (2认同)
  • 可能是错误的,但这似乎并不能切换数据库。部署将部署到“当前”项目,但它似乎仍会从原始数据库中提取数据。如果您要使用它来将生产环境与暂存环境分开,那么该死的做法非常危险。希望没有人会丢失其产品数据。:( (2认同)

ZYi*_*nMD 14

2020:

官方推荐的方式是使用“别名”:

在您的 中.firebaserc,设置不同的项目 ID,如下所示:

{
  "projects": {
    "production": "my-project-id",
    "testing": "my-testing-project-id"
  }
}
// you can also add them interactively with `firebase use --add`
Run Code Online (Sandbox Code Playgroud)

然后你可以做firebase use testingfirebase use production在项目之间切换。

请注意,切换项目不会创建任何 git diff,它只会在您的本地机器中记住。要查看当前正在使用哪个项目,请执行firebase use

如果您想使用自己的 ID 而不对项目所有者的 进行更改.firebaserc,请firebase use my-own-id按照已接受的答案中所述在本地执行。另一方面,如果您是项目所有者并希望确保人们使用他们自己的项目 ID,您应该添加.firebaserc.gitignore.


Ron*_*han 8

你可以只使用命令行开关

--project=my-firebase-project
Run Code Online (Sandbox Code Playgroud)