> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据库

> 为您的应用提供专用 Postgres 实例。

每个数据库都是一个专用的 Postgres 实例，隔离运行，支持自动缩放至零，提供连接池和直连两种连接方式。只需告诉 AI 您需要什么，它会处理设置和凭证管理。

## 创建数据库

告诉 AI 您的应用需要什么。它应该先列出现有数据库，当存在合适的活跃数据库时会重复使用。只有当您需要隔离或现有数据库都不符合要求时，它才会创建新的 Postgres 实例。

## 凭证

数据库凭证通过 [vault](/work/vault) 管理。

* **查看凭证** - 返回数据库的当前连接 URI。
* **重新生成凭证** - 重置数据库密码并创建新的 vault 密钥。在凭证丢失、泄露或需要轮换时使用。旧凭证会立即失效。

### 在应用中使用凭证

对于生成的应用，AI 会通过 `db` 工具将数据库凭证连接到流程组件。应用代码读取标准环境变量，如 `DATABASE_URL` 和 `DIRECT_DATABASE_URL`。

对于手动本地命令，通过 Kazzle CLI 使用正确的集合和环境运行：

```json theme={"theme":"material-theme-darker"}
{
  "scripts": {
    "dev": "kazzle run --collection=my-saas --env=dev -- bun run server.ts"
  }
}
```

不要将数据库 URL 放在前端代码或 `VITE_*` 变量中。

## 迁移

架构变更应放在应用仓库的 SQL 文件中（例如 `migrations/001_create_todos.sql`）。Kazzle 可以在应用部署流程中运行这些迁移。如果启用了实时同步，AI 也会更新相关的同步设置。

## 启用实时同步

告诉 AI 在数据库上启用同步。它应该等到数据库显示 `sync: ready` 后再连接实时应用。详见 [实时同步](/apps/sync)。

## 删除数据库

告诉 AI 删除数据库。Kazzle 会先将其标记为已删除，在永久清理运行前可以恢复该数据库。

## 示例：从零开始设置数据库

1. "创建一个名为 my-app-db 的数据库"
2. AI 重复使用合适的数据库或设置 Postgres 并将凭证存储在 vault 中
3. "创建一个 todos 表，包含 id、text、done 和 created\_at 字段"
4. AI 运行 SQL
5. "将其连接到我的应用" - AI 将数据库连接到应用的流程组件

对于具有离线支持的实时应用，AI 还会启用同步并设置客户端架构。详见 [构建实时应用](/apps/build-and-publish) 了解完整流程。
