--- 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)를 정확히 파악하세요. - 마이그레이션이 있으면 최종 상태를 기준으로 작성하세요.