| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| data/jvs-dw | ||
| prisma | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| .swcrc | ||
| Dockerfile | ||
| jest.config.cjs | ||
| nest-cli.json | ||
| package.json | ||
| tsconfig.json |
🔴 预存 bug:schema 注释一直声称有 partial UNIQUE 幂等键,但 init migration 从没真正建过 → source_event_id 幂等从未在 DB 层强制: - createMany({skipDuplicates:true}) 一直是空操作(无约束可依据,全插入) - per-row create 的 P2002 catch 永不触发 - 重复导入 / 同源 dup 行 → 产生重复 patient_transactions 发现过程:PR5b 并行测试做完整性自查,发现 12 个重复 source_event_id (都是 fact_appointment_out 里同 appointment 同时间戳的真重复行)。 查 \d patient_transactions 确认无 unique index,查 init migration 确认从没建。 注:fact 层的 (subject_id, version) UNIQUE 是真建了的,所以 fact 没坏 (自查 multi_active_facts=0 验证),只有 tx 层有重复风险。 migration 20260528000002: 1. dedup 已有重复(每组保留 event_seq 最小 = 最早写入) 2. 建 partial UNIQUE (host_id, tenant_id, source_event_id) WHERE NOT NULL 本地验证: dedup: 4330 → 4318(删 12 重复),remaining_dups=0 加约束后重跑并行:txns=4318 dups=12(constraint 正确拦截 12 重复 skip) DB 终态:0 dup_source_events / 0 multi_active_facts → createMany skipDuplicates 现在真正生效;幂等在 DB 层强制
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| data/jvs-dw | Loading commit data... | |
| prisma | Loading commit data... | |
| src | Loading commit data... | |
| tests | Loading commit data... | |
| .dockerignore | Loading commit data... | |
| .env.example | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .swcrc | Loading commit data... | |
| Dockerfile | Loading commit data... | |
| jest.config.cjs | Loading commit data... | |
| nest-cli.json | Loading commit data... | |
| package.json | Loading commit data... | |
| tsconfig.json | Loading commit data... |