pdlc-db-migrate
数据库迁移管理
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
数据库迁移管理
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-db-migrate |
| description | 数据库迁移管理 |
| argument-hint | <迁移描述 | 版本号> |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
| layer | 3 |
| stage | engineering |
| produces | ["backend/migrations/**"] |
| requires | [] |
| next_step | null |
| terminal_state | null |
根据 db-design 文档管理数据库迁移脚本,支持生成、执行、回滚和状态查看。
从 $ARGUMENTS 中解析子命令和参数:
| 子命令 | 格式 | 说明 |
|---|---|---|
generate <描述> | 根据 db-design 文档生成版本化迁移脚本(up + down) | |
status | 查看迁移状态,列出已执行/待执行的迁移 | |
up | 执行所有待执行的迁移 | |
down [N] | 回滚最近 N 个迁移(默认 1) | |
diff <功能名> | 对比 db-design 文档与现有迁移脚本,生成增量迁移 |
如果未提供子命令或子命令无法识别,输出以上帮助信息后停止。
当子命令为 generate 或 diff 时执行:
docs/02_design/database/ 目录下搜索包含该关键词的数据库设计文档
F<日期>-<编号>-*<关键词>*-db.mdYYYYMMDD-*<关键词>*-db.md⛔ PDLC 守卫:未找到与「<功能名>」相关的数据库设计文档。
迁移脚本必须基于已有的数据库设计。请先运行:
👉 /pdlc-db-design <设计目标>
F20260326-090000),读取该设计文档内容,继续执行backend/services/<service>/migrations/migrations/backend/services/ 目录,按微服务项目处理;否则按单服务项目处理V<版本号>__<描述>.sqlR<版本号>__<描述>.sqlYYYYMMDD_HHMMSS(如 20260402_143052)每个迁移文件必须包含以下头部注释:
-- ==============================================
-- 迁移脚本: V20260402_143052__create_users_table.sql
-- 功能ID: F20260402-090000
-- 描述: 创建用户表
-- 作者: <从 git config 获取>
-- 日期: 2026-04-02
-- ==============================================
.claude/templates/pdlc/db-migrate-template.md 模板YYYYMMDD_HHMMSSV<版本号>__<描述>.sql
R<版本号>__<描述>.sql
migrations/migration_history.md查找迁移目录下所有 V*.sql 文件
读取 migrations/migration_history.md(如不存在则提示无迁移记录)
输出迁移状态表格:
📋 迁移状态
| 版本号 | 描述 | 功能ID | 状态 | 执行时间 |
|--------|------|--------|------|----------|
| 20260402_143052 | 创建用户表 | F20260402-090000 | ✅ 已执行 | 2026-04-02 14:35 |
| 20260402_150000 | 添加订单表 | F20260402-100000 | ⏳ 待执行 | - |
已执行: 1 | 待执行: 1 | 总计: 2
migrations/migration_history.md 确定已执行的迁移V*.sql 文件migrations/migration_history.md 中的状态为「已执行」注意:本命令不直接连接数据库执行 SQL。它展示待执行的脚本内容,由用户在数据库客户端中手动执行,然后更新迁移历史记录。
migrations/migration_history.md 确定已执行的迁移R*.sql 回滚文件migrations/migration_history.md 中的状态为「已回滚」注意:与
up相同,本命令不直接执行 SQL,由用户手动执行后更新记录。
V*.sql 文件,提取已定义的表结构在迁移目录下维护 migration_history.md 文件:
# 迁移历史
| 版本号 | 描述 | 功能ID | 执行时间 | 状态 |
|--------|------|--------|----------|------|
| 20260402_143052 | 创建用户表 | F20260402-090000 | 2026-04-02 14:35 | 已执行 |
| 20260402_150000 | 添加订单表 | F20260402-100000 | - | 待执行 |
状态值:待执行 | 已执行 | 已回滚
迁移操作: $ARGUMENTS
本命令的 handoff 输出:
✅ 数据库迁移脚本 完成
📦 产出:backend/migrations/V<版本号>__<描述>.sql
👉 下一步:(本次流程结束,无后续)