fix(sqlite): 收口长期状态数据库版本化迁移契约
bat-rust / Build and test Rust (push) Canceled after 0s
bat-rust / Build and test Go API (push) Canceled after 0s

This commit is contained in:
2026-09-16 21:02:22 +08:00
parent 99355effe4
commit 7f7d757f15
10 changed files with 2487 additions and 421 deletions
+15 -15
View File
@@ -236,7 +236,7 @@ T02 → T13
# T03 — SQLite Schema Migration 体系化
**类型:** P2
**状态:** Ready
**状态:** Done
## 问题
@@ -311,12 +311,23 @@ T03 → T15
T03 → T16
```
## 完成记录
已为 Translation Tasks、Translation Memory 和 Glossary 收口统一的 SQLite
migration contract:现有数据库先以只读方式读取 schema、component version 和结构
fingerprintfuture/unknown/mismatch 在任何写入前 fail closed;确认可迁移后在
`BEGIN IMMEDIATE` 事务内执行显式版本步骤,重读并校验结构后写入版本并提交。Translation
Tasks 按真实历史从 V1 迁移到 V2Translation Memory 和 Glossary 保持真实的 V1
contract,没有凭空引入版本;已覆盖缺失 schema bookkeeping、业务数据保留、失败回滚
重试、并发打开和当前版本 reopen no-op。生产路径不再依赖 `ensure_column` 隐式升级,
相关状态、架构、RPC 参考和缺口文档已同步。
---
# T04 — Translation Memory Trusted 唯一性与 Supersede 治理
**类型:** P2
**状态:** Blocked by T03
**状态:** Ready
## 问题
@@ -1047,16 +1058,7 @@ Stable Resource / Release / AssetBundle Platform
## In Progress
建议当前只放:
```text
T01 — bat-api 发布完整性与分发健康契约
T08 — CI Gate 与质量门禁整理
```
T01 是当前唯一 P1。
T08 可以与其并行,不涉及核心业务状态机。
当前无。
---
@@ -1064,7 +1066,7 @@ T08 可以与其并行,不涉及核心业务状态机。
```text
T02 — ResourceRepository 查询契约统一
T03SQLite Schema Migration 体系化
T04Translation Memory Trusted 唯一性与 Supersede 治理
T05 — bat.sock 本地 IPC 安全与资源边界
T06 — AssetBundle / ZIP Parser Resource Budget
T07 — Durable Atomic State Write
@@ -1078,8 +1080,6 @@ T11 可以现在就开始采集,但 T01 后的数据才作为新的正式 dist
## Blocked / Planned
```text
T04 ← T03
T09 ← T06
T10 ← T09