Oracle 库重建/重排后 videos/people 的 id 跳变(2303 段→3408/4600+ 段), 旧 upsert 按 Oracle id 作主键插入时与已存在同 filename/label 行在 UNIQUE 键 上二次冲突报 1062,整批中止、游标不推进。 - upsert_sync_videos: 改为以 filename 业务键去重,命中就地 UPDATE 保留 NAS 原 id(防 sync_events/model_calls/identity_map 的 video_id 外键失效),Oracle id 落 oracle_id 列溯源;未命中插入优先用 Oracle id 对齐子表引用,主键冲突回退自增 - upsert_sync_people: 同模式,以 label 业务键去重(people.id 无外键引用) - ddl.sql: sync_videos/sync_people 的 id 改为 NAS 本地自增主键 + 新增 oracle_id 列 - NAS 现网已迁移(加列/回填/改自增)并重启验证:单批补拉 videos+348 events+1017 people+9 model_calls+500 identity_map+238,游标 09-02 13:55:21 → 09-03 08:51:11
13 KiB
13 KiB