-- 018_migration_map.sql — idempotency ledger for void-migrate. Maps a source row
-- to the Void 2 entity it created, so re-running an import never duplicates.
CREATE TABLE migration_map (
  id          uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  source      text NOT NULL,                 -- 'void1' | 'bookstack' | 'karakeep' | 'plans'
  source_id   text NOT NULL,                 -- e.g. 'wiki_pages:42'
  entity_type text NOT NULL,                 -- 'page' | 'project' | 'task' | 'conversation' | 'message'
  entity_id   uuid NOT NULL,
  created_at  timestamptz NOT NULL DEFAULT now(),
  UNIQUE (source, source_id, entity_type)
);
