-- =============================================================================
-- Migration: 20260419000012_documents_content_hash
-- V#51 — hash SHA-256 do conteúdo pra detecção de tampering.
--
-- Coluna nullable (documentos antigos não têm). Calculado client-side via
-- crypto.subtle.digest('SHA-256') antes do upload pro storage.
-- Integridade pode ser verificada baixando o arquivo e recalculando o hash.
-- =============================================================================

ALTER TABLE public.documents
  ADD COLUMN IF NOT EXISTS content_sha256 text;

CREATE INDEX IF NOT EXISTS idx_documents_content_sha256
  ON public.documents (content_sha256)
  WHERE content_sha256 IS NOT NULL;

COMMENT ON COLUMN public.documents.content_sha256 IS
  'V#51: SHA-256 hex (64 chars) do conteúdo no momento do upload. Permite verificar integridade. NULL pra documentos legados pré-V#51.';
