-- 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");