Readur/migrations/20250729000001_backfill_doc...

27 lines
1.1 KiB
SQL

-- Backfill source_id and source_type for existing documents
-- This migration fixes documents that were ingested before proper source tracking was implemented
-- Update documents that have WebDAV source paths but missing source_id
-- Link them to existing WebDAV sources based on user ownership
UPDATE documents
SET
source_id = sources.id,
source_type = 'webdav'
FROM sources
WHERE
documents.user_id = sources.user_id
AND sources.source_type = 'webdav'
AND documents.source_metadata->>'source_path' IS NOT NULL
AND documents.source_id IS NULL;
-- Update documents that have source paths but no source_metadata, likely from older ingestion
-- This handles edge cases where source_path is populated but source_type is not
UPDATE documents
SET source_type = 'webdav'
WHERE
source_path IS NOT NULL
AND source_type IS NULL
AND source_id IN (SELECT id FROM sources WHERE source_type = 'webdav');
-- Add helpful comment explaining the backfill
COMMENT ON COLUMN documents.source_id IS 'References the source that this document was ingested from. Backfilled for existing documents on 2025-07-29.';