firebase-data-connect
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFirebase Data Connect
Firebase Data Connect
Firebase Data Connect is a relational database service using Cloud SQL for PostgreSQL with GraphQL schema, auto-generated queries/mutations, and type-safe SDKs.
Firebase Data Connect 是一款关系型数据库服务,基于Cloud SQL for PostgreSQL,支持GraphQL schema、自动生成的查询/变更以及类型安全的SDK。
Project Structure
项目结构
dataconnect/
├── dataconnect.yaml # Service configuration
├── schema/
│ └── schema.gql # Data model (types with @table)
└── connector/
├── connector.yaml # Connector config + SDK generation
├── queries.gql # Queries
└── mutations.gql # Mutationsdataconnect/
├── dataconnect.yaml # 服务配置
├── schema/
│ └── schema.gql # 数据模型(带@table的类型)
└── connector/
├── connector.yaml # 连接器配置 + SDK生成
├── queries.gql # 查询语句
└── mutations.gql # 变更语句Development Workflow
开发工作流
Follow this strict workflow to build your application. You must read the linked reference files for each step to understand the syntax and available features.
遵循以下严格的工作流来构建你的应用。你必须阅读每个步骤对应的参考文档,以了解语法和可用功能。
1. Define Data Model (schema/schema.gql
)
schema/schema.gql1. 定义数据模型(schema/schema.gql
)
schema/schema.gqlDefine your GraphQL types, tables, and relationships.
Read reference/schema.md for:
,@table,@col@default- Relationships (
, one-to-many, many-to-many)@ref- Data types (UUID, Vector, JSON, etc.)
定义你的GraphQL类型、表和关系。
**阅读reference/schema.md**以了解:
,@table,@col@default- 关系(
、一对多、多对多)@ref- 数据类型(UUID、Vector、JSON等)
2. Define Operations (connector/queries.gql
, connector/mutations.gql
)
connector/queries.gqlconnector/mutations.gql2. 定义操作(connector/queries.gql
、connector/mutations.gql
)
connector/queries.gqlconnector/mutations.gqlWrite the queries and mutations your client will use. Data Connect generates the underlying SQL.
Read reference/operations.md for:
- Queries: Filtering (
), Ordering (where), Pagination (orderBy/limit).offset- Mutations: Create (
), Update (_insert), Delete (_update)._delete- Upserts: Use
to "insert or update" records (CRITICAL for user profiles)._upsert- Transactions: use
for multi-step atomic operations.@transaction
编写客户端将使用的查询和变更。Data Connect会生成底层的SQL语句。
**阅读reference/operations.md**以了解:
- 查询:过滤(
)、排序(where)、分页(orderBy/limit)。offset- 变更:创建(
)、更新(_insert)、删除(_update)。_delete- Upsert操作:使用
来「插入或更新」记录(对用户资料来说至关重要)。_upsert- 事务:使用
执行多步骤原子操作。@transaction
3. Secure Your App (connector/
files)
connector/3. 应用安全配置(connector/
目录下的文件)
connector/Add authorization logic closely with your operations.
Read reference/security.md for:
for PUBLIC, USER, or NO_ACCESS.@auth(level: ...) and@checkfor row-level security and validation.@redact
为你的操作添加紧密关联的授权逻辑。
**阅读reference/security.md**以了解:
用于设置PUBLIC、USER或NO_ACCESS权限。@auth(level: ...) 和@check用于行级安全和验证。@redact
4. Generate & Use SDKs
4. 生成并使用SDK
Generate type-safe code for your client platform.
Read reference/sdks.md for:
- Android (Kotlin), iOS (Swift), Web (TypeScript), Flutter (Dart).
- How to initialize and call your queries/mutations.
- Nested Data: See how to access related fields (e.g.,
).movie.reviews
为你的客户端平台生成类型安全的代码。
**阅读reference/sdks.md**以了解:
- Android(Kotlin)、iOS(Swift)、Web(TypeScript)、Flutter(Dart)平台的支持。
- 如何初始化并调用你的查询/变更。
- 嵌套数据:了解如何访问关联字段(例如
)。movie.reviews
Feature Capability Map
功能能力映射
If you need to implement a specific feature, consult the mapped reference file:
| Feature | Reference File | Key Concepts |
|---|---|---|
| Data Modeling | reference/schema.md | |
| Vector Search | reference/advanced.md | |
| Full-Text Search | reference/advanced.md | |
| Upserting Data | reference/operations.md | |
| Complex Filters | reference/operations.md | |
| Transactions | reference/operations.md | |
| Environment Config | reference/config.md | |
如果你需要实现特定功能,请查阅对应的参考文档:
| 功能 | 参考文档 | 核心概念 |
|---|---|---|
| 数据建模 | reference/schema.md | |
| 向量搜索 | reference/advanced.md | |
| 全文搜索 | reference/advanced.md | |
| 数据Upsert | reference/operations.md | |
| 复杂过滤 | reference/operations.md | |
| 事务处理 | reference/operations.md | |
| 环境配置 | reference/config.md | |
Deployment & CLI
部署与CLI
Read reference/config.md for deep dive on configuration.
Common commands (run from project root):
bash
undefined**阅读reference/config.md**以深入了解配置。
常用命令(从项目根目录执行):
bash
undefinedInitialize Data Connect
初始化Data Connect
firebase init dataconnect
firebase init dataconnect
Start local emulator
启动本地模拟器
firebase emulators:start --only dataconnect
firebase emulators:start --only dataconnect
Generate SDK code
生成SDK代码
firebase dataconnect:sdk:generate
firebase dataconnect:sdk:generate
Deploy to production
部署到生产环境
firebase deploy --only dataconnect
undefinedfirebase deploy --only dataconnect
undefinedExamples
示例
For complete, working code examples of schemas and operations, see examples.md.
如需完整可运行的schema和操作代码示例,请查看**examples.md**。