跳到主要内容

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 同步远端内容