Files
wx_service/docs/sql/reports/smoke_ddl_validation_2026-02-28.md
T
2026-02-28 16:32:50 +08:00

1.2 KiB
Raw Blame History

smoke.sql DDL 与迁移顺序验证(2026-02-28

对应 issue#9 [P0][T6] 校验 docs/sql/smoke.sql DDL 与迁移顺序

变更

  • fa_smoke_log 的建表语句改为 CREATE TABLE IF NOT EXISTS,保证脚本可重复执行(增量场景不报错)。

验证环境

  • MySQL: mysql:8.0Docker 临时容器)
  • 数据库名:wx_service
  • SQL 文件:docs/sql/smoke.sql

验证步骤与结果

  1. 空库初始化
  • 执行:首次导入 smoke.sql
  • 结果:成功,目标 5 张表全部创建(计数=5)
  1. 增量迁移
  • 执行:在同一库重复导入 smoke.sql
  • 结果:成功,无建表冲突(计数=5
  1. 回滚可行性
  • 执行:按逆依赖顺序 DROP TABLE 后再次导入 smoke.sql
  • 结果:成功,可回滚后重建(计数=5

验证命令

# 1) 空库初始化
mysql -h127.0.0.1 -uroot wx_service < /sql/smoke.sql

# 2) 增量重放
mysql -h127.0.0.1 -uroot wx_service < /sql/smoke.sql

# 3) 回滚后重建
mysql -h127.0.0.1 -uroot wx_service -e \
  "DROP TABLE IF EXISTS fa_smoke_ai_next_smoke, fa_smoke_user_profile, fa_smoke_ai_advice_unlocks, fa_smoke_ai_advice, fa_smoke_log;"
mysql -h127.0.0.1 -uroot wx_service < /sql/smoke.sql