firebase-data-connect

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Firebase 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     # Mutations
dataconnect/
├── 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
)

1. 定义数据模型(
schema/schema.gql

Define your GraphQL types, tables, and relationships.
Read reference/schema.md for:
  • @table
    ,
    @col
    ,
    @default
  • Relationships (
    @ref
    , one-to-many, many-to-many)
  • 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
)

2. 定义操作(
connector/queries.gql
connector/mutations.gql

Write the queries and mutations your client will use. Data Connect generates the underlying SQL.
Read reference/operations.md for:
  • Queries: Filtering (
    where
    ), Ordering (
    orderBy
    ), Pagination (
    limit
    /
    offset
    ).
  • Mutations: Create (
    _insert
    ), Update (
    _update
    ), Delete (
    _delete
    ).
  • Upserts: Use
    _upsert
    to "insert or update" records (CRITICAL for user profiles).
  • Transactions: use
    @transaction
    for multi-step atomic operations.
编写客户端将使用的查询和变更。Data Connect会生成底层的SQL语句。
**阅读reference/operations.md**以了解:
  • 查询:过滤(
    where
    )、排序(
    orderBy
    )、分页(
    limit
    /
    offset
    )。
  • 变更:创建(
    _insert
    )、更新(
    _update
    )、删除(
    _delete
    )。
  • Upsert操作:使用
    _upsert
    来「插入或更新」记录(对用户资料来说至关重要)。
  • 事务:使用
    @transaction
    执行多步骤原子操作。

3. Secure Your App (
connector/
files)

3. 应用安全配置(
connector/
目录下的文件)

Add authorization logic closely with your operations.
Read reference/security.md for:
  • @auth(level: ...)
    for PUBLIC, USER, or NO_ACCESS.
  • @check
    and
    @redact
    for row-level security and validation.
为你的操作添加紧密关联的授权逻辑。
**阅读reference/security.md**以了解:
  • @auth(level: ...)
    用于设置PUBLIC、USER或NO_ACCESS权限。
  • @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:
FeatureReference FileKey Concepts
Data Modelingreference/schema.md
@table
,
@unique
,
@index
, Relations
Vector Searchreference/advanced.md
Vector
,
@col(dataType: "vector")
Full-Text Searchreference/advanced.md
@searchable
Upserting Datareference/operations.md
_upsert
mutations
Complex Filtersreference/operations.md
_or
,
_and
,
_not
,
eq
,
contains
Transactionsreference/operations.md
@transaction
,
response
binding
Environment Configreference/config.md
dataconnect.yaml
,
connector.yaml

如果你需要实现特定功能,请查阅对应的参考文档:
功能参考文档核心概念
数据建模reference/schema.md
@table
,
@unique
,
@index
, 关系
向量搜索reference/advanced.md
Vector
,
@col(dataType: "vector")
全文搜索reference/advanced.md
@searchable
数据Upsertreference/operations.md
_upsert
变更
复杂过滤reference/operations.md
_or
,
_and
,
_not
,
eq
,
contains
事务处理reference/operations.md
@transaction
,
response
绑定
环境配置reference/config.md
dataconnect.yaml
,
connector.yaml

Deployment & CLI

部署与CLI

Read reference/config.md for deep dive on configuration.
Common commands (run from project root):
bash
undefined
**阅读reference/config.md**以深入了解配置。
常用命令(从项目根目录执行):
bash
undefined

Initialize 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
undefined
firebase deploy --only dataconnect
undefined

Examples

示例

For complete, working code examples of schemas and operations, see examples.md.
如需完整可运行的schema和操作代码示例,请查看**examples.md**。