diff --git a/docs/自动化与资料收集规划.md b/docs/自动化与资料收集规划.md index 4a3af0e..7887599 100644 --- a/docs/自动化与资料收集规划.md +++ b/docs/自动化与资料收集规划.md @@ -1152,6 +1152,13 @@ OSS_PREFIX=collect 约定:每个迁移的 `down_revision` 指向前一个;**写成幂等的**(照 `20261001_0036` 的写法,先 `sa.inspect` 查存在再改);每加一个迁移,`tests/test_migrations.py` 的 `HEAD_REVISION` 要同步改。 +> **⚠️ 迁移编号一旦被任何库应用过就不能再改名**。P1a 犯过一次:迁移先叫 `20261002_0038`,本地 dev 库跑过一次,随后为了链条连续改名成 `0037`,dev 库里的 +> `alembic_version` 还记着 `0038`,再启动就报 +> `CommandError: Can't locate revision identified by '20261002_0038'`。 +> 改名要在**还没被任何库应用**之前做;已经应用过又必须改名时,除了改文件,还要把每个应用过的库 +> 手动对齐:`UPDATE alembic_version SET version_num='<新编号>';`(前提是迁移内容没变, +> 否则要按实际差异补脚本)。 + ### C.2 通用约定 - 测试文件按功能命名:`tests/test_<域>_<主题>.py`(现有 38 个文件、235 条);