> ## 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. 「id、text、done、created\_at を含む todos テーブルを作成してください」
4. AI が SQL を実行します
5. 「アプリに接続してください」- AI がデータベースをアプリのプロセスコンポーネントに接続します

オフラインサポート付きのリアルタイムアプリの場合、AI は同期をオンにしてクライアント側のスキーマもセットアップします。完全なフローは [リアルタイムアプリの構築](/apps/build-and-publish) を参照してください。
