peach-db-migrate
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDB 마이그레이션
DB迁移
모든 명령은 디렉토리에서 실행한다.
api/所有命令都在 目录下执行。
api/워크플로우
工作流
1단계: 현재 상태 확인 (항상 먼저 실행)
1步:检查当前状态(始终优先执行)
어떤 작업이든 시작 전에 현재 마이그레이션 상태를 확인한다.
bash
cd api && bun run db:status-dev사용자에게 적용된 마이그레이션 목록과 미적용 마이그레이션을 보여준다.
无论开始任何操作,都需要先确认当前的迁移状态。
bash
cd api && bun run db:status-dev向用户展示已应用的迁移列表和未应用的迁移。
2단계: 의도에 따라 분기
第二步:根据用户意图分支处理
상태 확인만 요청한 경우
仅请求状态检查的情况
→ 1단계 결과를 보여주고 종료.
→ 展示第一步的结果后结束流程。
마이그레이션 실행 (up)
执行迁移(up)
bash
cd api && bun run db:up-dev- dbmate 마이그레이션 실행 후 가 자동 실행된다.
extract-schema - 스키마 파일()이 자동 갱신된다.
db/schema/ - 결과를 보여주고, 변경된 스키마 파일 목록을 안내한다.
bash
cd api && bun run db:up-dev- 执行dbmate迁移后会自动运行
extract-schema - Schema文件()会自动更新
db/schema/ - 展示执行结果,并告知变更的Schema文件列表。
마이그레이션 롤백 (down)
迁移回滚(down)
bash
cd api && bun run db:down-dev- 실행 전 반드시: 롤백 대상 마이그레이션 파일명을 보여주고, 사용자 승인을 받은 후 실행한다.
- 가장 최근 마이그레이션 1건만 롤백된다.
- 롤백 후 가 자동 실행된다.
extract-schema
bash
cd api && bun run db:down-dev- 执行前必须操作:先展示待回滚的迁移文件名,获得用户批准后再执行
- 仅回滚最近1条迁移记录
- 回滚完成后会自动运行
extract-schema
새 마이그레이션 생성
创建新迁移
bash
cd api && bun run db:new {migration_name}- 파일이 생성된다.
db/migrations/YYYYMMDDHHMMSS_{migration_name}.sql - 생성된 파일을 열고, 아래 템플릿 구조를 안내한다:
sql
-- migrate:up
-- migrate:down
bash
cd api && bun run db:new {migration_name}- 会生成文件
db/migrations/YYYYMMDDHHMMSS_{migration_name}.sql - 打开生成的文件,提供如下模板结构参考:
sql
-- migrate:up
-- migrate:down
3단계: 결과 보고
第三步:结果报告
실행 결과를 요약하고, 오류 발생 시 원인을 분석한다.
总结执行结果,若出现错误则分析原因。
파일 위치
文件位置
| 경로 | 용도 |
|---|---|
| 마이그레이션 파일 |
| 추출된 스키마 파일 |
| DB 연결 정보 |
| 路径 | 用途 |
|---|---|
| 迁移文件 |
| 提取的Schema文件 |
| DB连接信息 |
오류 대응
错误处理
| 증상 | 원인 | 해결 |
|---|---|---|
| 연결 실패 | DATABASE_URL 오류 또는 DB 서버 다운 | |
| already applied | 마이그레이션이 이미 적용됨 | |
| SQL syntax error | 마이그레이션 파일 문법 오류 | 오류 메시지의 라인/컬럼 정보로 파일 수정 |
| index already exists | 중복 인덱스 생성 시도 | |
| 症状 | 原因 | 解决方案 |
|---|---|---|
| 连接失败 | DATABASE_URL配置错误或DB服务宕机 | 检查 |
| already applied | 迁移已被应用 | 执行 |
| SQL syntax error | 迁移文件存在语法错误 | 根据错误信息提供的行/列位置修改对应文件 |
| index already exists | 尝试创建重复索引 | 修改为 |