Skip to content

Commit 5bf3b96

Browse files
committed
fix(rich-content): restore r0 migration fixtures
1 parent 22ac1a8 commit 5bf3b96

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

docs/planning/rich-content-delivery/06-implementation-log.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,16 @@
100100
- **风险/回滚:** 该 lint 修复不改变 SQL placeholder 数量或顺序;若需要回退,可单独还原 CI 触发和两个 iterator 表达式。
101101
- **下一步:** 推送 R0 修复并等待所有远程 required checks 全绿,再开始 R1。
102102

103+
### 2026-08-09 — R0:迁移夹具回退与全量回归
104+
105+
- **范围:** 修复 R0 migration v14 对既有迁移夹具和备份测试的影响;未改变生产 schema、R1–R4 服务、renderer、依赖或 UI。
106+
- **代码审查:** 第二轮 CI 的 Rust 作业通过 Clippy 后,在 `test_migration_idempotent` 暴露硬编码的 v13 版本断言。进一步全量回归确认测试辅助函数在构造 v5/v10/v11/v12 fixture 时没有移除 v14 表和 schema 记录,导致重复建表、跳过前移和备份未生成。新增 `revert_v14`,在各旧版本辅助路径先删除 v14 的表、索引和版本记录;该函数仅用于测试夹具,真实迁移仍为前向单向执行。
107+
- **验证:** 隔离 target directory 中 `cargo test --all-features --test db_migrations_tests` → 19 passed / 0 failed;`cargo nextest run --all-features --profile ci` → 439 passed / 0 skipped;`cargo fmt --check` → pass;`cargo clippy --all-targets --all-features -- -D warnings` → pass。
108+
- **Git:** 本条记录随 R0 migration fixture 修复提交推送。
109+
- **远程 CI:** [CI #31269092419](https://github.com/knqiufan/MisakaX/actions/runs/31269092419) 的前端和三平台 Terminal Runtime 成功;Rust nextest 在 v14 fixture 兼容性失败,Tauri Build 被依赖关系跳过。已完成本地全量修复,等待下一次远程运行。
110+
- **风险/回滚:** 只改变测试辅助代码和版本断言;可独立回退,不影响用户数据库。
111+
- **下一步:** 推送并等待 R0 的完整远程 CI 全绿。
112+
103113
## 后续记录模板
104114

105115
```markdown

src-tauri/tests/db_migrations_tests.rs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ fn test_migration_idempotent() {
162162
row.get(0)
163163
})
164164
.unwrap();
165-
assert_eq!(version, 13);
165+
assert_eq!(version, 14);
166166
}
167167

168168
#[test]
@@ -602,6 +602,7 @@ fn test_migration_v6_injects_builtin_models_for_existing_router_configs() {
602602

603603
fn run_migrations_to_v5(conn: &Connection) {
604604
run_migrations(conn).unwrap();
605+
revert_v14(conn);
605606
conn.execute_batch(
606607
"DROP TABLE skill_security_migration_items;
607608
DROP TABLE skill_security_migration;
@@ -639,6 +640,7 @@ fn run_migrations_to_v5(conn: &Connection) {
639640

640641
fn run_migrations_to_v10(conn: &Connection) {
641642
run_migrations(conn).unwrap();
643+
revert_v14(conn);
642644
revert_v13(conn);
643645
conn.execute_batch(
644646
"DROP TABLE skill_approvals;
@@ -667,6 +669,7 @@ fn run_migrations_to_v10(conn: &Connection) {
667669

668670
fn run_migrations_to_v11(conn: &Connection) {
669671
run_migrations(conn).unwrap();
672+
revert_v14(conn);
670673
revert_v13(conn);
671674
conn.execute_batch(
672675
"DROP TABLE skill_approvals;
@@ -682,9 +685,23 @@ fn run_migrations_to_v11(conn: &Connection) {
682685

683686
fn run_migrations_to_v12(conn: &Connection) {
684687
run_migrations(conn).unwrap();
688+
revert_v14(conn);
685689
revert_v13(conn);
686690
}
687691

692+
fn revert_v14(conn: &Connection) {
693+
conn.execute_batch(
694+
"DROP INDEX IF EXISTS idx_artifacts_sha256;
695+
DROP INDEX IF EXISTS idx_artifacts_origin_message;
696+
DROP INDEX IF EXISTS idx_artifacts_session_retention;
697+
DROP TABLE IF EXISTS artifacts;
698+
DROP INDEX IF EXISTS idx_message_blocks_message_position;
699+
DROP TABLE IF EXISTS message_blocks;
700+
DELETE FROM _schema_version WHERE version = 14;",
701+
)
702+
.unwrap();
703+
}
704+
688705
fn revert_v13(conn: &Connection) {
689706
conn.execute_batch(
690707
"DROP TABLE skill_security_migration_items;

0 commit comments

Comments
 (0)