Firebase CLI 是一个工具,可让您通过命令行管理和配置 Firebase 产品和服务。
CLI 提供了一些命令,可用于执行各种 Data Connect 任务,例如创建新的 Data Connect 项目、初始化相应的本地工作目录、设置 Data Connect 模拟器、列出 Data Connect 资源、生成客户端 SDK 等。
设置命令
将 Data Connect 添加到 Firebase 项目
firebase init
使用 firebase init
设置新的本地项目配置。此工作流会在您的目录中创建或更新 Firebase 配置文件。
firebase init
firebase init
流程将指导您设置服务和数据库,
以及视需要安装 Data Connect 模拟器
配置生成的 SDK
服务和数据库设置
如果您选择 dataconnect
进行产品设置,CLI 会提示您输入新的服务名称和位置,以及是否要关联现有 Cloud SQL for PostgreSQL 实例或创建新实例。
如果已关联现有实例,CLI 会检查是否存在兼容的设置,例如 IAM 身份验证和公共 IP 地址。
Local Emulator Suite设置
CLI 流程可用于设置模拟器,包括 Data Connect 模拟器。
Data Connect 模拟器命令
启动 Data Connect 模拟器
emulators:start/exec
firebase emulators:start/exec
使用 Local Emulator Suite 版本的 Data Connect 模拟器
使用 start
交互模式或运行脚本驱动型非交互模式
exec
。
架构和连接器管理命令
本部分包含有关您用于管理架构和连接器的命令的 CLI 参考信息。
如需了解与这些命令相关的使用场景和推荐做法,请参阅架构和连接器管理指南。
部署架构和连接器资源
deploy
firebase deploy
此命令会为 firebase.json 中编入索引的 Data Connect 服务部署资源。必要时执行架构迁移。
命令 | 说明 | |
---|---|---|
Firebase 部署 |
标志 | 说明 |
–-only dataconnect |
为此,为所有 Data Connect 服务部署架构和连接器 项目,但不部署其他 Firebase 产品资源。 | |
- 仅限 dataconnect:serviceId |
为指定的 Data Connect 服务部署架构和连接器。 | |
–-only dataconnect:serviceId:connectorId |
为指定的 Data Connect 服务部署单个连接器。 | |
–-only dataconnect:serviceId:schema |
为指定的 Data Connect 服务部署架构。 |
借助 –-only
标志,您可以传递以英文逗号分隔的值,以部署所需的任何子集资源。
firebase deploy --only dataconnect:service1:schema,dataconnect:service2
列出 Data Connect 服务、架构和连接器
dataconnect:services:list
firebase dataconnect:services:list
此命令会输出有关项目中部署的服务、架构和连接器的基本信息。
比较和迁移 SQL 架构
dataconnect:sql:diff
firebase dataconnect:sql:diff
此命令会将服务的本地架构与相应 Cloud SQL 数据库的当前架构进行比较。它会输出将要运行的命令 将数据库迁移到新架构。
命令 | 说明 | |
---|---|---|
firebase dataconnect:sql:diff |
标志/参数 | 说明 |
serviceId |
指定服务。如果省略,则输出 firebase.json 中所有服务的差异。 |
dataconnect:sql:migrate
firebase dataconnect:sql:migrate
此命令会将本地架构更改应用于服务的 Cloud SQL 数据库。
当您设置新的本地 Data Connect 项目(使用默认值)时
dataconnect.yaml
文件后,dataconect:sql:migrate
命令的行为
提示您进行所有必要的更改
然后再执行更改您可以将此行为修改为始终
更新dataconnect.yaml
以包含或忽略可选更改
配置,如以严格模式或兼容模式迁移架构中所述。
在交互式环境中,CLI 会显示每个迁移 SQL 语句
(以及是否具有破坏性)并提示您要应用的更改。
传递 --force
标志相当于接受所有提示。
在非交互式环境中:
- 如果没有
--force
,则只会进行非破坏性更改。如果有 破坏性更改,则 CLI 会中止,而不进行任何更改。 - 使用
--force
时,系统会进行所有更改。如果包含任何破坏性内容 系统会输出这些更改,并提示您是否继续, 除非提供了--force
标志。
命令 | 说明 | |
---|---|---|
firebase dataconnect:sql:migrate |
标志 | 说明 |
serviceId |
为指定服务迁移数据库。serviceId 是 推断出的类别。 | |
–-force |
自动接受提示。 |
与其他 --only
标志一样,您可以提供多项服务,使用
逗号。
以严格模式或兼容模式迁移架构
Data Connect 架构迁移有两种不同的架构验证模式:严格和兼容。严格模式验证要求数据库架构与应用架构完全匹配,然后才能部署应用架构。兼容模式验证要求数据库 架构与应用架构兼容,这意味着 应用架构未使用的数据库将保持不变。
以下是架构验证模式和架构迁移最佳实践 架构和连接器管理指南中涵盖
验证模式是使用schemaValidation
dataconnect.yaml
文件。如果未指定 schemaValidation
,CLI 会应用兼容性更改,并在执行任何严格更改之前提示您。请参阅
配置参考。
SDK 命令
生成 SDK
dataconnect:sdk:generate
firebase dataconnect:sdk:generate
此命令会生成 connector.yaml 中声明的类型化 SDK。
另请参阅有关使用网页 SDK 的指南。 Android SDK 和 iOS SDK。
命令 | 说明 | |
---|---|---|
firebase dataconnect:sdk:generate |
标志 | 说明 |
–-手表 |
让进程保持运行状态,并在每次保存时生成新 SDK
对架构和连接器 GQL 文件所做的更改。 如果生成失败,系统会将错误输出到 stdout,即生成的代码 但不会发生更改,该命令将继续运行。 |
|
–-only connectorId:platform |
仅为单个平台和单个连接器生成 SDK。 |
您可以使用 –only
标志传递以英文逗号分隔的值。
firebase dataconnect:sdk:generate –-only connector1, connector1:kotlin
Cloud SQL 管理命令
为 Cloud SQL 授予 SQL 角色
dataconnect:sql:grant
firebase dataconnect:sql:grant
此命令可授予 PostgreSQL 用户角色 分配给指定的用户或服务账号:
- 读取者:可以从架构中的表读取数据。
- 写入者:可以对架构中的表执行读写操作。
- 所有者:可以执行迁移和更改架构。这不包括: 安装扩展程序的权限。
命令 | 说明 | |
---|---|---|
firebase dataconnect:sql:grant |
标志/参数 | 说明 |
-R, --role 角色 |
要授予的 SQL 角色,可以是 owner、writer 或 reader 之一。 | |
-E, --email email_address |
要向其授予角色的用户或服务账号的电子邮件地址。 |
全局选项
以下全局选项适用于所有命令:
--json
会将 CLI 输出切换为 JSON,以供其他工具解析。--noninteractive
和--interactive
会根据需要自动替换 非 TTY 环境检测。