67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
---
|
|
name: db-schema
|
|
label: DB 스키마 분석
|
|
description: 데이터베이스 스키마를 분석하여 ERD 다이어그램과 테이블 문서를 생성합니다.
|
|
icon: \uE968
|
|
allowed-tools:
|
|
- folder_map
|
|
- grep
|
|
- file_read
|
|
- file_write
|
|
- search_codebase
|
|
tabs: code
|
|
---
|
|
|
|
작업 폴더의 코드에서 데이터베이스 스키마를 분석하고 문서화하세요.
|
|
|
|
## 분석 대상
|
|
- ORM 모델/엔티티 클래스 (Entity Framework, SQLAlchemy, Sequelize, JPA 등)
|
|
- 마이그레이션 파일
|
|
- SQL DDL 스크립트 (CREATE TABLE)
|
|
- 관계 정의 (FK, Navigation Property)
|
|
|
|
## 작업 절차
|
|
1. `folder_map` — 프로젝트 구조 파악
|
|
2. `grep` — 엔티티/모델 클래스 검색 (`DbSet`, `@Entity`, `Model.define`, `CREATE TABLE` 등)
|
|
3. `file_read` — 모델 파일 분석 (컬럼, 타입, 관계)
|
|
4. `grep` — 인덱스, 제약 조건 검색
|
|
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)를 정확히 파악하세요.
|
|
- 마이그레이션이 있으면 최종 상태를 기준으로 작성하세요.
|