peach-erd

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ERD 원스톱 스킬

ERD一站式技能

파일 경로

文件路径

파일용도
docs/erd/erd.mmd
Mermaid ERD 소스
docs/erd/erd.png
PNG 렌더링 (git 커밋용)
docs/erd/erd.svg
SVG 렌더링 (git 커밋용)

文件用途
docs/erd/erd.mmd
Mermaid ERD源码
docs/erd/erd.png
PNG渲染结果(用于git提交)
docs/erd/erd.svg
SVG渲染结果(用于git提交)

워크플로우

工作流

1단계: 환경 확인

步骤1:环境检查

mermaid MCP 서버가 등록되어 있는지 확인한다.
bash
claude mcp list 2>/dev/null | grep mermaid
미등록 시 자동 설치:
bash
npm install -g claude-mermaid
claude mcp add --scope user mermaid claude-mermaid
설치 후 사용자에게 "claude-mermaid MCP를 설치했습니다. Claude Code를 재시작해야 MCP가 활성화됩니다." 안내한다.
检查是否已注册mermaid MCP服务器。
bash
claude mcp list 2>/dev/null | grep mermaid
未注册时自动安装:
bash
npm install -g claude-mermaid
claude mcp add --scope user mermaid claude-mermaid
安装完成后告知用户:「已安装claude-mermaid MCP,需重启Claude Code才能激活MCP。」

2단계: erd.mmd 확인

步骤2:检查erd.mmd文件

docs/erd/erd.mmd
파일이 존재하는지 확인한다.
파일 없으면 → 폴더 생성 + 기본 템플릿으로 erd.mmd 생성:
mermaid
erDiagram
    example["example (예시)"] {
        serial4 example_seq PK "일련번호"
        varchar name "이름"
    }
파일 있으면 → 읽어서 현재 내용 파악.
检查
docs/erd/erd.mmd
文件是否存在。
如果文件不存在 → 创建文件夹+用默认模板生成erd.mmd:
mermaid
erDiagram
    example["example (示例)"] {
        serial4 example_seq PK "序列号"
        varchar name "名称"
    }
如果文件存在 → 读取并了解当前内容。

3단계: 수정

步骤3:修改

사용자가 수정을 요청하면 erd.mmd를 수정한다. 수정 없이 미리보기/저장만 요청한 경우 이 단계를 건너뛴다.
若用户要求修改则调整erd.mmd内容,若仅要求预览/保存无需修改则跳过本步骤。

4단계: 병렬 실행 (미리보기 + 파일 저장)

步骤4:并行执行(预览+文件保存)

erd.mmd의 내용을 읽고 두 작업을 동시에 실행한다.
작업 A — 브라우저 미리보기 (mermaid MCP):
mcp__mermaid__mermaid_preview:
  preview_id: "erd-main"
  diagram: {erd.mmd 전체 내용}
  width: 1400
  height: 1200
  scale: 2
작업 B — PNG/SVG 파일 저장 (Bash, 프로젝트 루트에서):
bash
npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.png \
  -s 2 && \
npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.svg
작업 A 실패 시 (MCP 미연결):
  • 작업 B(CLI)만 실행하여 PNG/SVG 저장은 보장한다.
  • 사용자에게 안내: "브라우저 미리보기를 사용하려면 Claude Code를 재시작하거나
    claude mcp add --scope user mermaid claude-mermaid
    로 MCP를 등록하세요."
读取erd.mmd内容,同时执行以下两项任务
任务A — 浏览器预览(mermaid MCP):
mcp__mermaid__mermaid_preview:
  preview_id: "erd-main"
  diagram: {erd.mmd完整内容}
  width: 1400
  height: 1200
  scale: 2
任务B — 保存PNG/SVG文件(Bash,在项目根目录执行):
bash
npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.png \
  -s 2 && \
npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.svg
任务A执行失败时(未连接MCP):
  • 仅执行任务B(CLI)确保完成PNG/SVG保存。
  • 告知用户:「若要使用浏览器预览功能,请重启Claude Code,或执行
    claude mcp add --scope user mermaid claude-mermaid
    命令注册MCP。」

5단계: 결과 보고

步骤5:结果反馈

  • 브라우저 미리보기 URL (성공 시)
  • 저장된 PNG/SVG 파일 경로
  • 수정 반복이 필요하면 3단계로 돌아간다

  • 浏览器预览URL(执行成功时提供)
  • 已保存的PNG/SVG文件路径
  • 若需要反复修改则回到步骤3

ERD 작성 규칙

ERD编写规则

엔티티명

实体名

["영문명 (한글명)"]
형식으로 작성한다. 관계선에서는 엔티티명만 사용한다 (병기하면 렌더링 오류).
kacta_staff["kacta_staff (직원)"] { ... }     ✅
kacta_staff ||--o{ kacta_staff_hist : "이력"   ✅
kacta_staff["kacta_staff (직원)"] ||--o{ ...   ❌ 렌더링 오류
采用
["英文名 (韩文名)"]
格式编写,关系线中仅使用实体名(同时标注会导致渲染错误)。
kacta_staff["kacta_staff (员工)"] { ... }     ✅
kacta_staff ||--o{ kacta_staff_hist : "历史"   ✅
kacta_staff["kacta_staff (员工)"] ||--o{ ...   ❌ 渲染错误

인덱스 마커

索引标记

컬럼 코멘트 끝에 대괄호로 표기한다.
마커의미예시
[IDX]
일반 인덱스
int4 office_seq FK "kacta_office 참조 [IDX]"
[PIDX]
Partial Index (WHERE is_delete='N')
varchar status "상태 코드 [PIDX]"
[UIDX]
Unique Index
varchar cert_no "증명서 번호 [UIDX]"
[PIDX:a+b]
복합 Partial Index
varchar status "... [PIDX:status+region_seq]"
在列注释末尾用方括号标注。
标记含义示例
[IDX]
普通索引
int4 office_seq FK "参考kacta_office [IDX]"
[PIDX]
Partial Index(WHERE is_delete='N')
varchar status "状态码 [PIDX]"
[UIDX]
Unique Index
varchar cert_no "证书编号 [UIDX]"
[PIDX:a+b]
联合Partial Index
varchar status "... [PIDX:status+region_seq]"

감사 필드

审计字段

  • 마스터 테이블:
    is_delete
    ,
    insert_seq
    ,
    insert_date
    ,
    update_seq
    ,
    update_date
  • 이력 테이블:
    insert_seq
    ,
    insert_date
    (만)
  • 主表:
    is_delete
    insert_seq
    insert_date
    update_seq
    update_date
  • 历史表:仅需
    insert_seq
    insert_date