---
name: db-schema
label: DB 스키마 분석
description: 데이터베이스 스키마를 분석하여 ERD 다이어그램과 테이블 문서를 생성합니다.
icon: \uE968
tabs: code
---

작업 폴더의 코드에서 데이터베이스 스키마를 분석하고 문서화하세요.

## 분석 대상
- ORM 모델/엔티티 클래스 (Entity Framework, SQLAlchemy, Sequelize, JPA 등)
- 마이그레이션 파일
- SQL DDL 스크립트 (CREATE TABLE)
- 관계 정의 (FK, Navigation Property)

## 작업 절차
1. `folder_map` — 프로젝트 구조 파악
2. `grep_tool` — 엔티티/모델 클래스 검색 (`DbSet`, `@Entity`, `Model.define`, `CREATE TABLE` 등)
3. `file_read` — 모델 파일 분석 (컬럼, 타입, 관계)
4. `grep_tool` — 인덱스, 제약 조건 검색
5. `file_write` — 스키마 문서 + Mermaid ERD 생성

## 출력 형식

### 테이블 문서
각 테이블에 대해:
```
## Users 테이블
| 컬럼 | 타입 | Null | 기본값 | 설명 |
|------|------|------|--------|------|
| Id | int | NO | AUTO_INCREMENT | PK |
| Name | nvarchar(100) | NO | - | 사용자 이름 |
| CreatedAt | datetime | NO | GETDATE() | 생성일 |

- **인덱스**: IX_Users_Name (Name)
- **관계**: Orders (1:N), Profile (1:1)
```

### Mermaid ERD
```mermaid
erDiagram
    Users ||--o{ Orders : "has"
    Users ||--|| Profile : "has"
    Users {
        int Id PK
        string Name
        datetime CreatedAt
    }
    Orders {
        int Id PK
        int UserId FK
        decimal Amount
    }
```

## 주의사항
- 코드에서 실제 확인된 스키마만 문서화하세요.
- 관계(1:1, 1:N, N:M)를 정확히 파악하세요.
- 마이그레이션이 있으면 최종 상태를 기준으로 작성하세요.
