Files
advx/prisma/migrations/20250402144403_add_documentos_tables/migration.sql
T
2025-04-10 23:07:21 -03:00

67 lines
2.2 KiB
SQL

/*
Warnings:
- You are about to drop the `Documento` table. If the table is not empty, all the data it contains will be lost.
*/
-- CreateEnum
CREATE TYPE "TipoDocumento" AS ENUM ('PETICAO', 'CONTRATO', 'PROCURACAO', 'DECLARACAO', 'OUTROS');
-- DropForeignKey
ALTER TABLE "Documento" DROP CONSTRAINT "Documento_processoId_fkey";
-- DropTable
DROP TABLE "Documento";
-- CreateTable
CREATE TABLE "documentos" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"nome" VARCHAR(200) NOT NULL,
"tipo" "TipoDocumento" NOT NULL,
"conteudo" TEXT NOT NULL,
"url" TEXT,
"processoId" UUID,
"atendimentoId" UUID,
"anexoId" UUID,
"criadoPorId" UUID NOT NULL,
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"atualizadoEm" TIMESTAMP(3) NOT NULL,
CONSTRAINT "documentos_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "documentos_modelos" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"nome" VARCHAR(200) NOT NULL,
"descricao" TEXT,
"tipo" "TipoDocumento" NOT NULL,
"conteudo" TEXT NOT NULL,
"variaveis" TEXT[],
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"atualizadoEm" TIMESTAMP(3) NOT NULL,
CONSTRAINT "documentos_modelos_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "documentos_anexoId_key" ON "documentos"("anexoId");
-- CreateIndex
CREATE INDEX "documentos_processoId_idx" ON "documentos"("processoId");
-- CreateIndex
CREATE INDEX "documentos_atendimentoId_idx" ON "documentos"("atendimentoId");
-- AddForeignKey
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_atendimentoId_fkey" FOREIGN KEY ("atendimentoId") REFERENCES "atendimentos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_anexoId_fkey" FOREIGN KEY ("anexoId") REFERENCES "Anexo"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_criadoPorId_fkey" FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;