feat(migrate): migration_map idempotency ledger

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
root
2026-06-04 22:18:05 +10:00
parent bbb90c12c6
commit 681b091e4a
3 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import { pool } from '../pool.js';
export async function seen(source, source_id, entity_type) {
const { rows: [r] } = await pool.query(
`SELECT entity_id FROM migration_map WHERE source=$1 AND source_id=$2 AND entity_type=$3`,
[source, source_id, entity_type]);
return r ? r.entity_id : null;
}
export async function record(source, source_id, entity_type, entity_id) {
await pool.query(
`INSERT INTO migration_map(source, source_id, entity_type, entity_id) VALUES($1,$2,$3,$4)
ON CONFLICT (source, source_id, entity_type) DO NOTHING`,
[source, source_id, entity_type, entity_id]);
}