59 lines
2.3 KiB
SQL
59 lines
2.3 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "TipoAtendimento" AS ENUM ('INICIAL', 'RETORNO', 'ENCAMINHAMENTO', 'ORIENTACAO', 'ACORDO', 'OUTROS');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "atendimentos" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"protocolo" TEXT NOT NULL,
|
|
"clienteId" UUID NOT NULL,
|
|
"processoId" UUID,
|
|
"tipo" "TipoAtendimento" NOT NULL DEFAULT 'INICIAL',
|
|
"titulo" VARCHAR(200) NOT NULL,
|
|
"conteudo" TEXT NOT NULL,
|
|
"dataAtendimento" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"usuarioId" UUID NOT NULL,
|
|
|
|
CONSTRAINT "atendimentos_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "anexos_atendimento" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"atendimentoId" UUID NOT NULL,
|
|
"nome" VARCHAR(200) NOT NULL,
|
|
"tipo" VARCHAR(50) NOT NULL,
|
|
"url" TEXT NOT NULL,
|
|
"armazenamento" VARCHAR(20) NOT NULL DEFAULT 'NEXTCLOUD',
|
|
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "anexos_atendimento_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "atendimentos_protocolo_key" ON "atendimentos"("protocolo");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "atendimentos_clienteId_idx" ON "atendimentos"("clienteId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "atendimentos_processoId_idx" ON "atendimentos"("processoId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "atendimentos_protocolo_idx" ON "atendimentos"("protocolo");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "anexos_atendimento_atendimentoId_idx" ON "anexos_atendimento"("atendimentoId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "atendimentos" ADD CONSTRAINT "atendimentos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "atendimentos" ADD CONSTRAINT "atendimentos_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "atendimentos" ADD CONSTRAINT "atendimentos_usuarioId_fkey" FOREIGN KEY ("usuarioId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "anexos_atendimento" ADD CONSTRAINT "anexos_atendimento_atendimentoId_fkey" FOREIGN KEY ("atendimentoId") REFERENCES "atendimentos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|