tcb db pg migration repair
修复远端迁移历史记录,用于补齐记录、标记回滚或修正校验和。
⚠️ 此命令不执行 SQL,标记为
reverted不会实际回滚数据库。
语法
tcb db pg migration repair <version> --status <applied|reverted> --reason <reason> -e <envId>
参数
| 参数 | 必填 | 说明 | 默认值 |
|---|---|---|---|
<version> | 是 | 14 位迁移版本号 | — |
--status <status> | 是 | 目标状态:applied 或 reverted | — |
--reason <reason> | 是 | 修复原因,用于审计 | — |
--dry-run | 否 | 仅预览修复计划,不实际执行 | false |
-e, --env-id <envId> | 是 | 环境 ID | — |
--json | 否 | 输出 JSON | — |
示例
# 手动将本地 migration 标记为已应用(如在数据库中直接执行过该 SQL)
tcb db pg migration repair 20260724153000 --status applied --reason "manual_fix" -e <envId>
# 将远端 history 中的某条记录标记为已回滚
tcb db pg migration repair 20260724153000 --status reverted --reason "rollback_record" -e <envId>
# 先预览 repair 计划
tcb db pg migration repair 20260724153000 --status applied --reason "checksum_align" -e <envId> --dry-run
说明
Name由命令自动推断,无需显式传入--status applied从本地目录查找对应版本文件并读取 SQL,缺文件时报错--status reverted从远端历史记录查询Name,不使用本地文件- 出现
checksum_mismatch时,可先用migration fetch <version> --force同步远端内容