-- 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) );