-- Limpar migrações anteriores DELETE FROM "_prisma_migrations" WHERE migration_name LIKE '%add_audiencia_report%'; -- Atualizar tabela de audiências de forma segura DO $$ BEGIN -- Adicionar novas colunas se não existirem BEGIN ALTER TABLE "audiencias" ADD COLUMN IF NOT EXISTS "relatorio" TEXT, ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP WITH TIME ZONE; EXCEPTION WHEN duplicate_column THEN NULL; END; -- Atualizar tipo da coluna status ALTER TABLE "audiencias" ALTER COLUMN "status" TYPE VARCHAR(20); -- Remover constraint antiga se existir IF EXISTS ( SELECT 1 FROM information_schema.constraint_column_usage WHERE constraint_name = 'audiencias_status_check' ) THEN ALTER TABLE "audiencias" DROP CONSTRAINT "audiencias_status_check"; END IF; -- Adicionar nova constraint ALTER TABLE "audiencias" ADD CONSTRAINT "audiencias_status_check" CHECK (status IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA')); -- Atualizar registros existentes UPDATE "audiencias" SET status = 'AGENDADA' WHERE status NOT IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA') OR status IS NULL; END $$;