peach-db-extract-schema

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

DB 스키마 추출

DB Schema提取

마이그레이션 없이 DB의 현재 상태를 스키마 파일로 재추출한다.
bun run db:up-dev
/
db:down-dev
실행 시에는 extract-schema가 자동 체이닝되므로, 이 스킬은 수동 추출이 필요할 때만 사용한다.
无需迁移,将DB当前状态重新提取为Schema文件
执行
bun run db:up-dev
/
db:down-dev
时会自动链式执行extract-schema,因此本技能仅在需要手动提取时使用。

워크플로우

工作流

1단계: 스키마 추출 실행

步骤1:执行Schema提取

bash
cd api && bun run db:extract-schema
bash
cd api && bun run db:extract-schema

2단계: 결과 요약

步骤2:结果汇总

실행 결과에서 아래 4가지 수치를 보여준다:
  • Created: 새로 생성된 스키마 파일
  • Updated: DDL이 변경되어 갱신된 파일
  • Unchanged: 변경 없는 파일
  • Deleted: DB에서 삭제된 테이블의 스키마 파일 정리
执行结果将展示以下4项数值:
  • Created: 新生成的Schema文件
  • Updated: DDL发生变更而更新的文件
  • Unchanged: 无变更的文件
  • Deleted: 清理DB中已删除表对应的Schema文件

3단계: 변경 파일 상세

步骤3:变更文件详情

Updated 또는 Created 파일이 있으면:
  • 변경된 파일 목록을 보여준다.
  • 주요 변경 내용(컬럼 추가/삭제, 인덱스 변경 등)을 요약한다.
如果存在Updated或Created的文件:
  • 展示变更文件列表
  • 汇总核心变更内容(列新增/删除、索引变更等)

출력 파일 위치

输出文件路径

api/db/schema/{도메인}/{테이블명}.sql
도메인은 테이블명의 첫 번째
_
앞 부분으로 자동 분류된다:
  • kacta_staff.sql
    schema/kacta/kacta_staff.sql
  • common_file.sql
    schema/common/common_file.sql
  • member.sql
    schema/member/member.sql
api/db/schema/{도메인}/{테이블명}.sql
domain会根据表名第一个
_
之前的内容自动分类:
  • kacta_staff.sql
    schema/kacta/kacta_staff.sql
  • common_file.sql
    schema/common/common_file.sql
  • member.sql
    schema/member/member.sql

추출 내용

提取内容

  • CREATE TABLE DDL (컬럼, 타입, 기본값, NOT NULL)
  • COMMENT ON TABLE / COLUMN (한글 코멘트)
  • CREATE INDEX (Partial Index WHERE 절 포함)
  • PRIMARY KEY CONSTRAINT
  • CREATE TABLE DDL(列、类型、默认值、NOT NULL)
  • COMMENT ON TABLE / COLUMN(韩语注释)
  • CREATE INDEX(包含Partial Index WHERE子句)
  • PRIMARY KEY CONSTRAINT

사용 시점

使用场景

  • 다른 개발자가 DB를 직접 변경한 후 스키마 파일 동기화
  • 스키마 파일과 실제 DB 상태 불일치 의심 시
  • 마이그레이션 없이 DB 구조만 확인하고 싶을 때
  • 새 프로젝트 환경에서 최초 스키마 파일 생성 시
  • 其他开发人员直接修改DB后同步Schema文件
  • 怀疑Schema文件与实际DB状态不一致时
  • 无需迁移、仅想确认DB结构时
  • 新项目环境下首次生成Schema文件时