---
id: sm-firebase-data-connect
name: "firebase-data-connect"
url: https://skills.yangsir.net/skill/sm-firebase-data-connect
author: firebase
domain: cloud-infra
tags: ["firebase", "google-cloud-platform", "realtime-database", "firestore", "data-integration"]
install_count: 58400
rating: 4.70 (142 reviews)
github: https://github.com/firebase/agent-skills
---

# firebase-data-connect

> 基于Cloud SQL for PostgreSQL的关系型数据库服务，提供GraphQL模式、自动生成查询/修改操作及类型安全。

**Stats**: 58,400 installs · 4.7/5 (142 reviews)

## Before / After 对比

### 简化Firebase数据连接，提升开发效率

## Readme

# 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.

## 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

```

## 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`)

Define your GraphQL types, tables, and relationships.

**Read [reference/schema.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/schema.md)** for:

- `@table`, `@col`, `@default`

- Relationships (`@ref`, one-to-many, many-to-many)

- Data types (UUID, Vector, JSON, etc.)

### 2. Define Operations (`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](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/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.

### 3. Secure Your App (`connector/` files)

Add authorization logic closely with your operations.

**Read [reference/security.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/security.md)** for:

- `@auth(level: ...)` for PUBLIC, USER, or NO_ACCESS.

- `@check` and `@redact` for row-level security and validation.

### 4. Generate & Use SDKs

Generate type-safe code for your client platform.

**Read [reference/sdks.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/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`).

## 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](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/schema.md)
`@table`, `@unique`, `@index`, Relations

**Vector Search**
[reference/advanced.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/advanced.md)
`Vector`, `@col(dataType: "vector")`

**Full-Text Search**
[reference/advanced.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/advanced.md)
`@searchable`

**Upserting Data**
[reference/operations.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/operations.md)
`_upsert` mutations

**Complex Filters**
[reference/operations.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/operations.md)
`_or`, `_and`, `_not`, `eq`, `contains`

**Transactions**
[reference/operations.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/operations.md)
`@transaction`, `response` binding

**Environment Config**
[reference/config.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/config.md)
`dataconnect.yaml`, `connector.yaml`

## Deployment & CLI

**Read [reference/config.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/reference/config.md)** for deep dive on configuration.

Common commands (run from project root):

```
# Initialize Data Connect
npx -y firebase-tools@latest init dataconnect

# Start local emulator
npx -y firebase-tools@latest emulators:start --only dataconnect

# Generate SDK code
npx -y firebase-tools@latest dataconnect:sdk:generate

# Deploy to production
npx -y firebase-tools@latest deploy --only dataconnect

```

## Examples

For complete, working code examples of schemas and operations, see **[examples.md](https://github.com/firebase/agent-skills/blob/HEAD/skills/firebase-data-connect-basics/examples.md)**.
Weekly Installs1.1KRepository[firebase/agent-skills](https://github.com/firebase/agent-skills)GitHub Stars174First SeenFeb 20, 2026Security Audits[Gen Agent Trust HubPass](/firebase/agent-skills/firebase-data-connect/security/agent-trust-hub)[SocketPass](/firebase/agent-skills/firebase-data-connect/security/socket)[SnykPass](/firebase/agent-skills/firebase-data-connect/security/snyk)Installed ongemini-cli1.0Kcodex998opencode997github-copilot994cursor990amp988

---
*Source: https://skills.yangsir.net/skill/sm-firebase-data-connect*
*Markdown mirror: https://skills.yangsir.net/api/skill/sm-firebase-data-connect/markdown*