29 lines
1.1 KiB
SQL
29 lines
1.1 KiB
SQL
-- Fazer backup da tabela audiencias
|
|
CREATE TABLE "audiencias_backup" AS SELECT * FROM "audiencias";
|
|
|
|
-- Remover constraint existente
|
|
ALTER TABLE "audiencias" DROP CONSTRAINT IF EXISTS "audiencias_processoId_fkey";
|
|
|
|
-- Atualizar colunas
|
|
ALTER TABLE "audiencias"
|
|
ADD COLUMN IF NOT EXISTS "relatorio" TEXT,
|
|
ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP WITH TIME ZONE,
|
|
ALTER COLUMN "id" SET DATA TYPE UUID USING (gen_random_uuid()),
|
|
ALTER COLUMN "processoId" SET DATA TYPE UUID USING ("processoId"::UUID),
|
|
ALTER COLUMN "status" SET DATA TYPE VARCHAR(20);
|
|
|
|
-- Recriar foreign key com UUID
|
|
ALTER TABLE "audiencias"
|
|
ADD CONSTRAINT "audiencias_processoId_fkey"
|
|
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
|
|
|
-- Adicionar check constraint para status
|
|
ALTER TABLE "audiencias"
|
|
ADD CONSTRAINT "audiencias_status_check"
|
|
CHECK (status IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA'));
|
|
|
|
-- Atualizar status existentes
|
|
UPDATE "audiencias"
|
|
SET status = 'AGENDADA'
|
|
WHERE status IS NULL OR status NOT IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA');
|