Files
advx/prisma/migrations/[timestamp]_add_tribunal_fields.sql
T
2025-04-10 23:07:21 -03:00

42 lines
1.2 KiB
SQL

-- Passo 1: Adicionar colunas como nullable
ALTER TABLE "processos"
ADD COLUMN "tribunalUF" VARCHAR(20) NULL,
ADD COLUMN "tribunal" VARCHAR(50) NULL,
ADD COLUMN "numeroOriginal" VARCHAR(50) NULL;
-- Passo 2: Preencher dados existentes
UPDATE "processos"
SET
"tribunalUF" =
CASE
WHEN "orgaoJulgador" LIKE '%TJTO%' THEN 'TO'
WHEN "orgaoJulgador" LIKE '%TRF1%' THEN 'DF'
ELSE 'TO' -- Default para processos existentes
END,
"tribunal" =
CASE
WHEN "orgaoJulgador" LIKE '%TJTO%' THEN 'TJTO'
WHEN "orgaoJulgador" LIKE '%TRF1%' THEN 'TRF1'
ELSE 'TJTO' -- Default para processos existentes
END;
-- Passo 3: Verificar se não há valores nulos
DO $$
BEGIN
IF EXISTS (
SELECT 1 FROM "processos"
WHERE "tribunalUF" IS NULL OR "tribunal" IS NULL
) THEN
RAISE EXCEPTION 'Ainda existem registros com valores nulos';
END IF;
END $$;
-- Passo 4: Tornar colunas NOT NULL
ALTER TABLE "processos"
ALTER COLUMN "tribunalUF" SET NOT NULL,
ALTER COLUMN "tribunal" SET NOT NULL;
-- Passo 5: Criar índices
CREATE INDEX IF NOT EXISTS "idx_processos_tribunal" ON "processos"("tribunal");
CREATE INDEX IF NOT EXISTS "idx_processos_tribunalUF" ON "processos"("tribunalUF");