mapping-miss.service.ts
2.15 KB
-
feat(sync): 宿主改表检测(suspectFields)— 列缺席/删/加 漂移可见化 · bab32e83
回答"宿主改了表结构/字段/枚举没通知,PAC 能不能察觉":在已有 mappingMiss(枚举漂移)基础上加 "字段/列漂移"检测,两路: - assembler 层(column_absent):映射字段对应 host 列在装配行里整列缺席 → 进 stats.suspectFields。 对直连原生表的资源有效;transform 产出表会补 key 掩盖,故补第二路 ↓ - raw 层(form A,column_removed/added,最可靠):ingestRawTables 在 transform 前快照推送列集, 对比"历史同源 rawPayload 列集"(基线抽样 50 条,排除本 run 防自污染,基线<5 跳过)→ 删列/加列。 两路都并入 SyncLog.metadata.suspectFields,/admin/mapping-miss 端点一并透出(报告含 misses+suspectFields)。 本地直连验证:删 doctor_name + 加 new_weird_col 推送 → suspectFields=[{doctor_name,column_removed},{new_weird_col,column_added}]。 不建表(复用 SyncLog.metadata)。只检测+可见化,不告警/不阻断(按需后续接 webhook)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>luoqi committed