42 lines
1.2 KiB
SQL
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");
|