> ## 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)을 참조하세요.
