-- Create document status enum CREATE TYPE app.document_status AS ENUM ( 'Missing', 'Invalid', 'Verified', 'Unverified' ); -- Add document_status column to candidate_document table ALTER TABLE app.candidate_document ADD COLUMN document_status app.document_status DEFAULT 'Unverified'; -- Migrate existing data based on document_verified_at UPDATE app.candidate_document SET document_status = CASE WHEN document_verified_at IS NOT NULL THEN 'Verified'::app.document_status ELSE 'Unverified'::app.document_status END; -- Make document_status NOT NULL after migration ALTER TABLE app.candidate_document ALTER COLUMN document_status SET NOT NULL; -- Drop the old columns as they're no longer needed ALTER TABLE app.candidate_document DROP COLUMN document_verified_at, DROP COLUMN document_verified_by;