first commit
This commit is contained in:
commit
c9fb67e751
423 files changed
+53287
No files matched your search
@@ -0,0 +1,14 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "usuarios" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"email" TEXT NOT NULL,
|
||||
"senha" TEXT NOT NULL,
|
||||
"cargo" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "usuarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "usuarios_email_key" ON "usuarios"("email");
|
||||
@@ -0,0 +1,33 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "clientes" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"email" TEXT NOT NULL,
|
||||
"cpfCnpj" TEXT NOT NULL,
|
||||
"telefone" TEXT NOT NULL,
|
||||
"endereco" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "clientes_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "processos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"numero" TEXT NOT NULL,
|
||||
"titulo" TEXT NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"clienteId" TEXT NOT NULL,
|
||||
"advogadoResponsavelId" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"dataAtualizacao" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "processos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "clientes_cpfCnpj_key" ON "clientes"("cpfCnpj");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "processos" ADD CONSTRAINT "processos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,47 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `bairro` to the `clientes` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `cep` to the `clientes` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `cidade` to the `clientes` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `estado` to the `clientes` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `numero` to the `clientes` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" ADD COLUMN "bairro" TEXT NOT NULL,
|
||||
ADD COLUMN "cep" TEXT NOT NULL,
|
||||
ADD COLUMN "cidade" TEXT NOT NULL,
|
||||
ADD COLUMN "complemento" TEXT,
|
||||
ADD COLUMN "conjugeCpf" TEXT,
|
||||
ADD COLUMN "conjugeNome" TEXT,
|
||||
ADD COLUMN "contribuiPrevidencia" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "dataNascimento" TIMESTAMP(3),
|
||||
ADD COLUMN "declaraIR" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "estado" TEXT NOT NULL,
|
||||
ADD COLUMN "estadoCivil" TEXT,
|
||||
ADD COLUMN "instagram" TEXT,
|
||||
ADD COLUMN "nomeMae" TEXT,
|
||||
ADD COLUMN "nomePai" TEXT,
|
||||
ADD COLUMN "numero" TEXT NOT NULL,
|
||||
ADD COLUMN "orgaoEmissor" TEXT,
|
||||
ADD COLUMN "possuiFilhos" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "profissao" TEXT,
|
||||
ADD COLUMN "renda" DECIMAL(65,30),
|
||||
ADD COLUMN "rg" TEXT,
|
||||
ADD COLUMN "tipoPrevidencia" TEXT,
|
||||
ADD COLUMN "usaDNI" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN "vinculoEmpregaticio" TEXT;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "filhos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"dataNascimento" TIMESTAMP(3) NOT NULL,
|
||||
"clienteId" TEXT NOT NULL,
|
||||
|
||||
CONSTRAINT "filhos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "filhos" ADD CONSTRAINT "filhos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" ADD COLUMN "estadoRg" TEXT;
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" ALTER COLUMN "tipoPrevidencia" SET DEFAULT 'NAO_CONTRIBUI';
|
||||
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to alter the column `rg` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(10)`.
|
||||
- You are about to alter the column `estadoRg` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `Char(2)`.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" ALTER COLUMN "dataNascimento" SET DATA TYPE DATE,
|
||||
ALTER COLUMN "rg" SET DATA TYPE VARCHAR(10),
|
||||
ALTER COLUMN "estadoRg" SET DATA TYPE CHAR(2);
|
||||
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to alter the column `nome` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `email` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `cpfCnpj` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(18)`.
|
||||
- You are about to alter the column `telefone` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(20)`.
|
||||
- You are about to alter the column `endereco` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(150)`.
|
||||
- You are about to alter the column `bairro` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `cep` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(9)`.
|
||||
- You are about to alter the column `cidade` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `complemento` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(50)`.
|
||||
- You are about to alter the column `conjugeCpf` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(14)`.
|
||||
- You are about to alter the column `conjugeNome` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `estado` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `Char(2)`.
|
||||
- You are about to alter the column `estadoCivil` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(20)`.
|
||||
- You are about to alter the column `instagram` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(50)`.
|
||||
- You are about to alter the column `nomeMae` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `nomePai` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `numero` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(10)`.
|
||||
- You are about to alter the column `orgaoEmissor` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(10)`.
|
||||
- You are about to alter the column `profissao` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `renda` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Decimal(65,30)` to `Decimal(10,2)`.
|
||||
- You are about to alter the column `tipoPrevidencia` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(20)`.
|
||||
- You are about to alter the column `vinculoEmpregaticio` on the `clientes` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(50)`.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" ALTER COLUMN "nome" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "email" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "cpfCnpj" SET DATA TYPE VARCHAR(18),
|
||||
ALTER COLUMN "telefone" SET DATA TYPE VARCHAR(20),
|
||||
ALTER COLUMN "endereco" SET DATA TYPE VARCHAR(150),
|
||||
ALTER COLUMN "bairro" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "cep" SET DATA TYPE VARCHAR(9),
|
||||
ALTER COLUMN "cidade" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "complemento" SET DATA TYPE VARCHAR(50),
|
||||
ALTER COLUMN "conjugeCpf" SET DATA TYPE VARCHAR(14),
|
||||
ALTER COLUMN "conjugeNome" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "estado" SET DATA TYPE CHAR(2),
|
||||
ALTER COLUMN "estadoCivil" SET DATA TYPE VARCHAR(20),
|
||||
ALTER COLUMN "instagram" SET DATA TYPE VARCHAR(50),
|
||||
ALTER COLUMN "nomeMae" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "nomePai" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "numero" SET DATA TYPE VARCHAR(10),
|
||||
ALTER COLUMN "orgaoEmissor" SET DATA TYPE VARCHAR(10),
|
||||
ALTER COLUMN "profissao" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "renda" SET DATA TYPE DECIMAL(10,2),
|
||||
ALTER COLUMN "rg" SET DATA TYPE VARCHAR(20),
|
||||
ALTER COLUMN "tipoPrevidencia" SET DATA TYPE VARCHAR(20),
|
||||
ALTER COLUMN "vinculoEmpregaticio" SET DATA TYPE VARCHAR(50);
|
||||
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `advogadoResponsavelId` on the `processos` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `descricao` on the `processos` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `titulo` on the `processos` table. All the data in the column will be lost.
|
||||
- The `status` column on the `processos` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- A unique constraint covering the columns `[numero]` on the table `processos` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- CreateEnum
|
||||
CREATE TYPE "NaturezaProcesso" AS ENUM ('CIVEL', 'CRIMINAL', 'PREVIDENCIARIO', 'TRABALHISTA', 'FAMILIA', 'TRIBUTARIO', 'ADMINISTRATIVO');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoParte" AS ENUM ('AUTOR', 'REU');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusProcesso" AS ENUM ('INICIAL', 'EM_ANDAMENTO', 'SUSPENSO', 'RECURSO', 'CONCLUSO', 'ARQUIVADO');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoDiligencia" AS ENUM ('CITACAO', 'INTIMACAO', 'NOTIFICACAO', 'PERICIA', 'OFICIAL_JUSTICA', 'CARTA_PRECATORIA', 'OUTROS');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoAudiencia" AS ENUM ('CONCILIACAO', 'INSTRUCAO', 'INICIAL', 'JULGAMENTO', 'MEDIACAO');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "processos" DROP COLUMN "advogadoResponsavelId",
|
||||
DROP COLUMN "descricao",
|
||||
DROP COLUMN "titulo",
|
||||
ADD COLUMN "natureza" "NaturezaProcesso",
|
||||
ADD COLUMN "nomeContraparte" VARCHAR(100),
|
||||
ADD COLUMN "orgaoJulgador" VARCHAR(100),
|
||||
ADD COLUMN "orgaoOrigem" VARCHAR(100),
|
||||
ADD COLUMN "tipoParteCliente" "TipoParte",
|
||||
ADD COLUMN "valorCausa" DECIMAL(15,2),
|
||||
DROP COLUMN "status",
|
||||
ADD COLUMN "status" "StatusProcesso" NOT NULL DEFAULT 'INICIAL';
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "documentos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "documentos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "diligencias" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"tipo" "TipoDiligencia" NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"dataLimite" TIMESTAMP(3) NOT NULL,
|
||||
"status" TEXT DEFAULT 'PENDENTE',
|
||||
"responsavel" VARCHAR(100),
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "diligencias_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "audiencias" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"tipo" "TipoAudiencia" NOT NULL,
|
||||
"data" TIMESTAMP(3) NOT NULL,
|
||||
"local" VARCHAR(200) NOT NULL,
|
||||
"modalidade" TEXT DEFAULT 'PRESENCIAL',
|
||||
"linkVirtual" TEXT,
|
||||
"observacoes" TEXT,
|
||||
"status" TEXT DEFAULT 'AGENDADA',
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "audiencias_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "movimentacoes" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"data" TIMESTAMP(3) NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"documento" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "movimentacoes_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "documentos_processoId_idx" ON "documentos"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "diligencias_dataLimite_idx" ON "diligencias"("dataLimite");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "audiencias_data_idx" ON "audiencias"("data");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "movimentacoes_data_idx" ON "movimentacoes"("data");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "processos_numero_key" ON "processos"("numero");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "processos_numero_idx" ON "processos"("numero");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "diligencias" ADD CONSTRAINT "diligencias_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "audiencias" ADD CONSTRAINT "audiencias_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "movimentacoes" ADD CONSTRAINT "movimentacoes_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,103 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusAtividade" AS ENUM ('ATIVO', 'BAIXADO', 'SUSPENSO');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "processos" ADD COLUMN "assuntoCNJ" VARCHAR(100),
|
||||
ADD COLUMN "codigoAssuntoCNJ" VARCHAR(20),
|
||||
ADD COLUMN "eventoCalendarioId" TEXT,
|
||||
ADD COLUMN "orgaoJulgadorId" TEXT,
|
||||
ADD COLUMN "statusAtividade" "StatusAtividade" NOT NULL DEFAULT 'ATIVO',
|
||||
ADD COLUMN "ultimaConsulta" TIMESTAMP(3);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "custas_processuais" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"valor" DECIMAL(10,2) NOT NULL,
|
||||
"dataPagamento" TIMESTAMP(3),
|
||||
"comprovante" TEXT,
|
||||
"status" TEXT NOT NULL DEFAULT 'PENDENTE',
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "custas_processuais_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "honorarios" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"valor" DECIMAL(10,2) NOT NULL,
|
||||
"parcelas" INTEGER NOT NULL DEFAULT 1,
|
||||
"dataVencimento" TIMESTAMP(3) NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'PENDENTE',
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "honorarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "modelos_documentos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" VARCHAR(100) NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"conteudo" TEXT NOT NULL,
|
||||
"variaveis" TEXT[],
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "modelos_documentos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "alertas" (
|
||||
"id" TEXT NOT NULL,
|
||||
"usuarioId" TEXT NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"mensagem" TEXT NOT NULL,
|
||||
"lido" BOOLEAN NOT NULL DEFAULT false,
|
||||
"dataAlerta" TIMESTAMP(3) NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "alertas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "movimentacoes_tribunal" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"tribunal" VARCHAR(50) NOT NULL,
|
||||
"dataMovimentacao" TIMESTAMP(3) NOT NULL,
|
||||
"tipo" VARCHAR(100) NOT NULL,
|
||||
"conteudo" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "movimentacoes_tribunal_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "orgaos_julgadores" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "orgaos_julgadores_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "orgaos_julgadores_nome_key" ON "orgaos_julgadores"("nome");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "processos_orgaoJulgadorId_idx" ON "processos"("orgaoJulgadorId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "processos" ADD CONSTRAINT "processos_orgaoJulgadorId_fkey" FOREIGN KEY ("orgaoJulgadorId") REFERENCES "orgaos_julgadores"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "custas_processuais" ADD CONSTRAINT "custas_processuais_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "honorarios" ADD CONSTRAINT "honorarios_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "movimentacoes_tribunal" ADD CONSTRAINT "movimentacoes_tribunal_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `assuntoCNJ` on the `processos` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `codigoAssuntoCNJ` on the `processos` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "processos" DROP COLUMN "assuntoCNJ",
|
||||
DROP COLUMN "codigoAssuntoCNJ";
|
||||
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `eventoCalendarioId` on the `processos` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `ultimaConsulta` on the `processos` table. All the data in the column will be lost.
|
||||
- Made the column `natureza` on table `processos` required. This step will fail if there are existing NULL values in that column.
|
||||
- Made the column `nomeContraparte` on table `processos` required. This step will fail if there are existing NULL values in that column.
|
||||
- Made the column `orgaoJulgador` on table `processos` required. This step will fail if there are existing NULL values in that column.
|
||||
- Made the column `tipoParteCliente` on table `processos` required. This step will fail if there are existing NULL values in that column.
|
||||
|
||||
*/
|
||||
-- DropIndex
|
||||
DROP INDEX "processos_orgaoJulgadorId_idx";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "processos" DROP COLUMN "eventoCalendarioId",
|
||||
DROP COLUMN "ultimaConsulta",
|
||||
ALTER COLUMN "natureza" SET NOT NULL,
|
||||
ALTER COLUMN "nomeContraparte" SET NOT NULL,
|
||||
ALTER COLUMN "orgaoJulgador" SET NOT NULL,
|
||||
ALTER COLUMN "tipoParteCliente" SET NOT NULL;
|
||||
@@ -0,0 +1,29 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoParticipacao" AS ENUM ('AUTOR', 'REU', 'TERCEIRO_INTERESSADO');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "partes_processo" (
|
||||
"id" TEXT NOT NULL,
|
||||
"processoId" TEXT NOT NULL,
|
||||
"clienteId" TEXT,
|
||||
"tipo" "TipoParticipacao" NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"cpfCnpj" VARCHAR(18),
|
||||
"principal" BOOLEAN NOT NULL DEFAULT false,
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "partes_processo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "partes_processo_processoId_idx" ON "partes_processo"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "partes_processo_clienteId_idx" ON "partes_processo"("clienteId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "partes_processo" ADD CONSTRAINT "partes_processo_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "partes_processo" ADD CONSTRAINT "partes_processo_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,379 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- The primary key for the `alertas` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `alertas` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `clientes` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `clientes` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `custas_processuais` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `custas_processuais` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The `status` column on the `custas_processuais` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `filhos` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `filhos` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `honorarios` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- You are about to drop the column `parcelas` on the `honorarios` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `valor` on the `honorarios` table. All the data in the column will be lost.
|
||||
- The `id` column on the `honorarios` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The `status` column on the `honorarios` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `modelos_documentos` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `modelos_documentos` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `orgaos_julgadores` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `orgaos_julgadores` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- The primary key for the `usuarios` table will be changed. If it partially fails, the table could be left without primary key constraint.
|
||||
- The `id` column on the `usuarios` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
- You are about to drop the `audiencias` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `diligencias` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `documentos` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `movimentacoes` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `movimentacoes_tribunal` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `partes_processo` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `processos` table. If the table is not empty, all the data it contains will be lost.
|
||||
- Changed the type of `usuarioId` on the `alertas` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
||||
- Added the required column `descricao` to the `custas_processuais` table without a default value. This is not possible if the table is not empty.
|
||||
- Changed the type of `processoId` on the `custas_processuais` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
||||
- Changed the type of `tipo` on the `custas_processuais` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
||||
- Changed the type of `clienteId` on the `filhos` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
||||
- Changed the type of `processoId` on the `honorarios` table. No cast exists, the column would be dropped and recreated, which cannot be done if there is data, since the column is required.
|
||||
|
||||
*/
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoCustaProcessual" AS ENUM ('INICIAL', 'RECURSO', 'PERICIA', 'OFICIAL_JUSTICA', 'CARTA_PRECATORIA', 'DEPOSITO_JUDICIAL', 'CERTIDAO', 'DIGITALIZACAO', 'CONDUTOR', 'CORREIOS', 'CARTORIO', 'OUTROS');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusPagamento" AS ENUM ('PENDENTE', 'PARCIALMENTE_PAGO', 'PAGO', 'VENCIDO', 'CANCELADO');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "FormaPagamento" AS ENUM ('VISTA', 'PARCELADO', 'ENTRADA_MAIS_PARCELAS', 'PERCENTUAL_CAUSA', 'PERCENTUAL_EXITO');
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT "audiencias_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "custas_processuais" DROP CONSTRAINT "custas_processuais_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "diligencias" DROP CONSTRAINT "diligencias_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "documentos" DROP CONSTRAINT "documentos_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "filhos" DROP CONSTRAINT "filhos_clienteId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "honorarios" DROP CONSTRAINT "honorarios_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "movimentacoes" DROP CONSTRAINT "movimentacoes_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "movimentacoes_tribunal" DROP CONSTRAINT "movimentacoes_tribunal_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT "partes_processo_clienteId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT "partes_processo_processoId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "processos" DROP CONSTRAINT "processos_clienteId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "processos" DROP CONSTRAINT "processos_orgaoJulgadorId_fkey";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "alertas" DROP CONSTRAINT "alertas_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
DROP COLUMN "usuarioId",
|
||||
ADD COLUMN "usuarioId" UUID NOT NULL,
|
||||
ADD CONSTRAINT "alertas_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes" DROP CONSTRAINT "clientes_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
ADD CONSTRAINT "clientes_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "custas_processuais" DROP CONSTRAINT "custas_processuais_pkey",
|
||||
ADD COLUMN "descricao" VARCHAR(200) NOT NULL,
|
||||
ADD COLUMN "numeroParcelas" INTEGER NOT NULL DEFAULT 1,
|
||||
ADD COLUMN "observacoes" TEXT,
|
||||
ADD COLUMN "parcelaAtual" INTEGER NOT NULL DEFAULT 1,
|
||||
ADD COLUMN "percentual" DECIMAL(5,2),
|
||||
ADD COLUMN "vencimento" TIMESTAMP(3),
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
DROP COLUMN "processoId",
|
||||
ADD COLUMN "processoId" UUID NOT NULL,
|
||||
DROP COLUMN "tipo",
|
||||
ADD COLUMN "tipo" "TipoCustaProcessual" NOT NULL,
|
||||
DROP COLUMN "status",
|
||||
ADD COLUMN "status" "StatusPagamento" NOT NULL DEFAULT 'PENDENTE',
|
||||
ADD CONSTRAINT "custas_processuais_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "filhos" DROP CONSTRAINT "filhos_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
DROP COLUMN "clienteId",
|
||||
ADD COLUMN "clienteId" UUID NOT NULL,
|
||||
ADD CONSTRAINT "filhos_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "honorarios" DROP CONSTRAINT "honorarios_pkey",
|
||||
DROP COLUMN "parcelas",
|
||||
DROP COLUMN "valor",
|
||||
ADD COLUMN "dataContrato" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
ADD COLUMN "diaVencimento" INTEGER NOT NULL DEFAULT 10,
|
||||
ADD COLUMN "formaPagamento" "FormaPagamento" NOT NULL DEFAULT 'VISTA',
|
||||
ADD COLUMN "numeroParcelas" INTEGER NOT NULL DEFAULT 1,
|
||||
ADD COLUMN "percentualCausa" DECIMAL(5,2),
|
||||
ADD COLUMN "percentualExito" DECIMAL(5,2),
|
||||
ADD COLUMN "valorEntrada" DECIMAL(10,2),
|
||||
ADD COLUMN "valorFixo" DECIMAL(10,2),
|
||||
ADD COLUMN "valorParcela" DECIMAL(10,2),
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
DROP COLUMN "processoId",
|
||||
ADD COLUMN "processoId" UUID NOT NULL,
|
||||
DROP COLUMN "status",
|
||||
ADD COLUMN "status" "StatusPagamento" NOT NULL DEFAULT 'PENDENTE',
|
||||
ADD CONSTRAINT "honorarios_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "modelos_documentos" DROP CONSTRAINT "modelos_documentos_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
ADD CONSTRAINT "modelos_documentos_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "orgaos_julgadores" DROP CONSTRAINT "orgaos_julgadores_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
ADD CONSTRAINT "orgaos_julgadores_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "usuarios" DROP CONSTRAINT "usuarios_pkey",
|
||||
DROP COLUMN "id",
|
||||
ADD COLUMN "id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
ADD CONSTRAINT "usuarios_pkey" PRIMARY KEY ("id");
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "audiencias";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "diligencias";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "documentos";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "movimentacoes";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "movimentacoes_tribunal";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "partes_processo";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "processos";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "ParteProcesso" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"clienteId" UUID,
|
||||
"tipo" VARCHAR(20) NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"cpfCnpj" VARCHAR(18),
|
||||
"principal" BOOLEAN NOT NULL DEFAULT false,
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "ParteProcesso_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Processo" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"numero" TEXT NOT NULL,
|
||||
"natureza" TEXT NOT NULL,
|
||||
"valorCausa" DECIMAL(15,2),
|
||||
"orgaoJulgador" VARCHAR(100) NOT NULL,
|
||||
"orgaoOrigem" VARCHAR(100),
|
||||
"nomeContraparte" VARCHAR(100) NOT NULL,
|
||||
"status" VARCHAR(20) NOT NULL DEFAULT 'INICIAL',
|
||||
"statusAtividade" VARCHAR(20) NOT NULL DEFAULT 'ATIVO',
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"dataAtualizacao" TIMESTAMP NOT NULL,
|
||||
"clienteId" UUID NOT NULL,
|
||||
"tipoParteCliente" VARCHAR(20) NOT NULL,
|
||||
"orgaoJulgadorId" UUID,
|
||||
|
||||
CONSTRAINT "Processo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Audiencia" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"data" TIMESTAMP NOT NULL,
|
||||
"local" VARCHAR(200) NOT NULL,
|
||||
"modalidade" VARCHAR(20) NOT NULL DEFAULT 'PRESENCIAL',
|
||||
"status" VARCHAR(20) NOT NULL DEFAULT 'AGENDADA',
|
||||
"linkVirtual" TEXT,
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Audiencia_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Diligencia" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"dataLimite" TIMESTAMP NOT NULL,
|
||||
"status" VARCHAR(20) NOT NULL DEFAULT 'PENDENTE',
|
||||
"responsavel" VARCHAR(100),
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Diligencia_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Movimentacao" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"data" TIMESTAMP NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"documento" TEXT,
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Movimentacao_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Documento" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Documento_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "parcelas_honorario" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"honorarioId" UUID NOT NULL,
|
||||
"numeroParcela" INTEGER NOT NULL,
|
||||
"valor" DECIMAL(10,2) NOT NULL,
|
||||
"valorPago" DECIMAL(10,2),
|
||||
"vencimento" TIMESTAMP(3) NOT NULL,
|
||||
"dataPagamento" TIMESTAMP(3),
|
||||
"status" "StatusPagamento" NOT NULL DEFAULT 'PENDENTE',
|
||||
"comprovante" TEXT,
|
||||
"observacoes" TEXT,
|
||||
|
||||
CONSTRAINT "parcelas_honorario_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "MovimentacaoTribunal" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tribunal" VARCHAR(50) NOT NULL,
|
||||
"data" TIMESTAMP(3) NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "MovimentacaoTribunal_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ParteProcesso_processoId_idx" ON "ParteProcesso"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "ParteProcesso_clienteId_idx" ON "ParteProcesso"("clienteId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "Processo_numero_key" ON "Processo"("numero");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Processo_clienteId_idx" ON "Processo"("clienteId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Processo_orgaoJulgadorId_idx" ON "Processo"("orgaoJulgadorId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Audiencia_processoId_idx" ON "Audiencia"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Diligencia_processoId_idx" ON "Diligencia"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Movimentacao_processoId_idx" ON "Movimentacao"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Documento_processoId_idx" ON "Documento"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "parcelas_honorario_honorarioId_idx" ON "parcelas_honorario"("honorarioId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "MovimentacaoTribunal_processoId_idx" ON "MovimentacaoTribunal"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "custas_processuais_processoId_idx" ON "custas_processuais"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "honorarios_processoId_idx" ON "honorarios"("processoId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "filhos" ADD CONSTRAINT "filhos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "ParteProcesso" ADD CONSTRAINT "ParteProcesso_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "ParteProcesso" ADD CONSTRAINT "ParteProcesso_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Processo" ADD CONSTRAINT "Processo_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Processo" ADD CONSTRAINT "Processo_orgaoJulgadorId_fkey" FOREIGN KEY ("orgaoJulgadorId") REFERENCES "orgaos_julgadores"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Audiencia" ADD CONSTRAINT "Audiencia_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Diligencia" ADD CONSTRAINT "Diligencia_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Movimentacao" ADD CONSTRAINT "Movimentacao_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Documento" ADD CONSTRAINT "Documento_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "custas_processuais" ADD CONSTRAINT "custas_processuais_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "honorarios" ADD CONSTRAINT "honorarios_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "parcelas_honorario" ADD CONSTRAINT "parcelas_honorario_honorarioId_fkey" FOREIGN KEY ("honorarioId") REFERENCES "honorarios"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "MovimentacaoTribunal" ADD CONSTRAINT "MovimentacaoTribunal_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- AlterEnum
|
||||
ALTER TYPE "FormaPagamento" ADD VALUE 'PERCENTUAL_CAUSA_COM_ENTRADA';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "honorarios" ADD COLUMN "valorTotalCausa" DECIMAL(10,2);
|
||||
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- Added the required column `tribunal` to the `Processo` table without a default value. This is not possible if the table is not empty.
|
||||
- Added the required column `tribunalUF` to the `Processo` table without a default value. This is not possible if the table is not empty.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Processo" ADD COLUMN "numeroOriginal" VARCHAR(50),
|
||||
ADD COLUMN "tribunal" VARCHAR(50) NOT NULL,
|
||||
ADD COLUMN "tribunalUF" VARCHAR(20) NOT NULL;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Processo_tribunal_idx" ON "Processo"("tribunal");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Processo_tribunalUF_idx" ON "Processo"("tribunalUF");
|
||||
@@ -0,0 +1,3 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Processo" ALTER COLUMN "tribunal" DROP NOT NULL,
|
||||
ALTER COLUMN "tribunalUF" DROP NOT NULL;
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Processo" ADD COLUMN "dadosDatajud" JSONB;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Processo" ADD COLUMN "assuntos" TEXT[],
|
||||
ADD COLUMN "classeProcessual" TEXT,
|
||||
ADD COLUMN "dataAjuizamento" TIMESTAMP(3),
|
||||
ADD COLUMN "nivelSigilo" INTEGER;
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `cargo` on the `usuarios` table. All the data in the column will be lost.
|
||||
- You are about to alter the column `nome` on the `usuarios` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `email` on the `usuarios` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
- You are about to alter the column `senha` on the `usuarios` table. The data in that column could be lost. The data in that column will be cast from `Text` to `VarChar(100)`.
|
||||
|
||||
*/
|
||||
-- CreateEnum
|
||||
CREATE TYPE "PerfilUsuario" AS ENUM ('ADVOGADO_ADMIN', 'ADVOGADO', 'ASSISTENTE', 'ESTAGIARIO');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "usuarios" DROP COLUMN "cargo",
|
||||
ADD COLUMN "ativo" BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN "bairro" VARCHAR(100),
|
||||
ADD COLUMN "cep" VARCHAR(9),
|
||||
ADD COLUMN "cidade" VARCHAR(100),
|
||||
ADD COLUMN "complemento" VARCHAR(100),
|
||||
ADD COLUMN "cpf" VARCHAR(14),
|
||||
ADD COLUMN "endereco" VARCHAR(200),
|
||||
ADD COLUMN "estado" VARCHAR(2),
|
||||
ADD COLUMN "numero" VARCHAR(10),
|
||||
ADD COLUMN "oab" VARCHAR(20),
|
||||
ADD COLUMN "oabUF" VARCHAR(2),
|
||||
ADD COLUMN "perfil" "PerfilUsuario" NOT NULL DEFAULT 'ADVOGADO',
|
||||
ADD COLUMN "rg" VARCHAR(20),
|
||||
ADD COLUMN "telefone" VARCHAR(15),
|
||||
ALTER COLUMN "nome" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "email" SET DATA TYPE VARCHAR(100),
|
||||
ALTER COLUMN "senha" SET DATA TYPE VARCHAR(100);
|
||||
@@ -0,0 +1,58 @@
|
||||
-- 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;
|
||||
@@ -0,0 +1,8 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "atendimentos" ADD COLUMN "atendimentoInicialId" UUID;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "atendimentos_atendimentoInicialId_idx" ON "atendimentos"("atendimentoInicialId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "atendimentos" ADD CONSTRAINT "atendimentos_atendimentoInicialId_fkey" FOREIGN KEY ("atendimentoInicialId") REFERENCES "atendimentos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,26 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusAgendamento" AS ENUM ('AGENDADO', 'CONFIRMADO', 'CANCELADO', 'REALIZADO', 'NAO_COMPARECEU');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "agendamentos_atendimento" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"clienteId" UUID NOT NULL,
|
||||
"usuarioId" UUID NOT NULL,
|
||||
"data" TIMESTAMP NOT NULL,
|
||||
"observacoes" TEXT,
|
||||
"status" "StatusAgendamento" NOT NULL DEFAULT 'AGENDADO',
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
"atendimentoId" UUID,
|
||||
|
||||
CONSTRAINT "agendamentos_atendimento_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "agendamentos_atendimento" ADD CONSTRAINT "agendamentos_atendimento_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "agendamentos_atendimento" ADD CONSTRAINT "agendamentos_atendimento_usuarioId_fkey" FOREIGN KEY ("usuarioId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "agendamentos_atendimento" ADD CONSTRAINT "agendamentos_atendimento_atendimentoId_fkey" FOREIGN KEY ("atendimentoId") REFERENCES "atendimentos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,76 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusTarefa" AS ENUM ('PENDENTE', 'EM_ANDAMENTO', 'CONCLUIDA', 'CANCELADA');
|
||||
CREATE TYPE "PrioridadeTarefa" AS ENUM ('BAIXA', 'MEDIA', 'ALTA', 'URGENTE');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "tarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"descricao" TEXT,
|
||||
"status" "StatusTarefa" NOT NULL,
|
||||
"prioridade" "PrioridadeTarefa" NOT NULL,
|
||||
"dataInicio" TIMESTAMP(3) NOT NULL,
|
||||
"dataVencimento" TIMESTAMP(3) NOT NULL,
|
||||
"progresso" INTEGER NOT NULL DEFAULT 0,
|
||||
"responsavelId" UUID NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"processoId" UUID,
|
||||
"clienteId" UUID,
|
||||
"etiquetas" TEXT[],
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "tarefas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "subtarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"concluida" BOOLEAN NOT NULL DEFAULT false,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
|
||||
CONSTRAINT "subtarefas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "comentarios" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"texto" TEXT NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "comentarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "anexos" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" TEXT NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"tamanho" INTEGER NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "anexos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_responsavelId_fkey" FOREIGN KEY ("responsavelId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_criadoPorId_fkey" FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "subtarefas" ADD CONSTRAINT "subtarefas_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "comentarios" ADD CONSTRAINT "comentarios_criadoPorId_fkey" FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE "comentarios" ADD CONSTRAINT "comentarios_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "anexos" ADD CONSTRAINT "anexos_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "tarefas_responsavelId_idx" ON "tarefas"("responsavelId");
|
||||
CREATE INDEX "tarefas_criadoPorId_idx" ON "tarefas"("criadoPorId");
|
||||
CREATE INDEX "tarefas_processoId_idx" ON "tarefas"("processoId");
|
||||
CREATE INDEX "tarefas_clienteId_idx" ON "tarefas"("clienteId");
|
||||
@@ -0,0 +1,86 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE IF NOT EXISTS "StatusTarefa" AS ENUM ('PENDENTE', 'EM_ANDAMENTO', 'CONCLUIDA', 'CANCELADA');
|
||||
CREATE TYPE IF NOT EXISTS "PrioridadeTarefa" AS ENUM ('BAIXA', 'MEDIA', 'ALTA', 'URGENTE');
|
||||
|
||||
-- Tarefas first (parent table)
|
||||
CREATE TABLE IF NOT EXISTS "tarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"descricao" TEXT,
|
||||
"status" "StatusTarefa" NOT NULL,
|
||||
"prioridade" "PrioridadeTarefa" NOT NULL,
|
||||
"dataInicio" TIMESTAMP(3) NOT NULL,
|
||||
"dataVencimento" TIMESTAMP(3) NOT NULL,
|
||||
"progresso" INTEGER NOT NULL DEFAULT 0,
|
||||
"responsavelId" UUID NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"processoId" UUID,
|
||||
"clienteId" UUID,
|
||||
"etiquetas" TEXT[],
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "tarefas_pkey" PRIMARY KEY ("id"),
|
||||
CONSTRAINT "tarefas_responsavelId_fkey"
|
||||
FOREIGN KEY ("responsavelId") REFERENCES "usuarios"("id"),
|
||||
CONSTRAINT "tarefas_criadoPorId_fkey"
|
||||
FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id"),
|
||||
CONSTRAINT "tarefas_clienteId_fkey"
|
||||
FOREIGN KEY ("clienteId") REFERENCES "clientes"("id")
|
||||
);
|
||||
|
||||
-- Then child tables
|
||||
CREATE TABLE IF NOT EXISTS "subtarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"concluida" BOOLEAN NOT NULL DEFAULT false,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
CONSTRAINT "subtarefas_pkey" PRIMARY KEY ("id"),
|
||||
CONSTRAINT "subtarefas_tarefaId_fkey"
|
||||
FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "comentarios" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"texto" TEXT NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT "comentarios_pkey" PRIMARY KEY ("id"),
|
||||
CONSTRAINT "comentarios_criadoPorId_fkey"
|
||||
FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id"),
|
||||
CONSTRAINT "comentarios_tarefaId_fkey"
|
||||
FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "anexos" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" TEXT NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"tamanho" INTEGER NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT "anexos_pkey" PRIMARY KEY ("id"),
|
||||
CONSTRAINT "anexos_tarefaId_fkey"
|
||||
FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- Add foreign key for processos after it exists
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (
|
||||
SELECT 1 FROM information_schema.tables
|
||||
WHERE table_name = 'processos'
|
||||
) THEN
|
||||
ALTER TABLE "tarefas"
|
||||
ADD CONSTRAINT "tarefas_processoId_fkey"
|
||||
FOREIGN KEY ("processoId")
|
||||
REFERENCES "processos"("id");
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Indexes
|
||||
CREATE INDEX IF NOT EXISTS "tarefas_responsavelId_idx" ON "tarefas"("responsavelId");
|
||||
CREATE INDEX IF NOT EXISTS "tarefas_criadoPorId_idx" ON "tarefas"("criadoPorId");
|
||||
CREATE INDEX IF NOT EXISTS "tarefas_processoId_idx" ON "tarefas"("processoId");
|
||||
CREATE INDEX IF NOT EXISTS "tarefas_clienteId_idx" ON "tarefas"("clienteId");
|
||||
@@ -0,0 +1,18 @@
|
||||
-- Remover colunas se existirem (para evitar conflitos)
|
||||
ALTER TABLE "atendimentos" DROP COLUMN IF EXISTS "status";
|
||||
ALTER TABLE "atendimentos" DROP COLUMN IF EXISTS "justificativaCancelamento";
|
||||
ALTER TABLE "atendimentos" DROP COLUMN IF EXISTS "dataAtualizacao";
|
||||
|
||||
-- Adicionar as colunas novamente
|
||||
ALTER TABLE "atendimentos"
|
||||
ADD COLUMN "status" VARCHAR(20) DEFAULT 'ATIVO',
|
||||
ADD COLUMN "justificativaCancelamento" TEXT,
|
||||
ADD COLUMN "dataAtualizacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- Atualizar registros existentes
|
||||
UPDATE "atendimentos"
|
||||
SET "status" = 'ATIVO',
|
||||
"dataAtualizacao" = COALESCE("dataCriacao", CURRENT_TIMESTAMP);
|
||||
|
||||
-- Criar índice para melhorar performance de buscas por status
|
||||
CREATE INDEX IF NOT EXISTS "atendimentos_status_idx" ON "atendimentos"("status");
|
||||
@@ -0,0 +1,4 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "atendimentos" ADD COLUMN "dataAtualizacao" TIMESTAMP(3) DEFAULT CURRENT_TIMESTAMP,
|
||||
ADD COLUMN "justificativaCancelamento" TEXT,
|
||||
ADD COLUMN "status" VARCHAR(20) DEFAULT 'ATIVO';
|
||||
@@ -0,0 +1,84 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusTarefa" AS ENUM ('PENDENTE', 'EM_ANDAMENTO', 'CONCLUIDA', 'CANCELADA');
|
||||
|
||||
-- CreateEnum
|
||||
CREATE TYPE "PrioridadeTarefa" AS ENUM ('BAIXA', 'MEDIA', 'ALTA', 'URGENTE');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "tarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"descricao" TEXT,
|
||||
"status" "StatusTarefa" NOT NULL,
|
||||
"prioridade" "PrioridadeTarefa" NOT NULL,
|
||||
"dataInicio" TIMESTAMP(3) NOT NULL,
|
||||
"dataVencimento" TIMESTAMP(3) NOT NULL,
|
||||
"progresso" INTEGER NOT NULL DEFAULT 0,
|
||||
"responsavelId" UUID NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"processoId" UUID,
|
||||
"clienteId" UUID,
|
||||
"etiquetas" TEXT[],
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "tarefas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "subtarefas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"titulo" TEXT NOT NULL,
|
||||
"concluida" BOOLEAN NOT NULL DEFAULT false,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
|
||||
CONSTRAINT "subtarefas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "comentarios" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"texto" TEXT NOT NULL,
|
||||
"criadoPorId" UUID NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "comentarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "anexos" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" TEXT NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"tamanho" INTEGER NOT NULL,
|
||||
"tarefaId" UUID NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "anexos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_responsavelId_fkey" FOREIGN KEY ("responsavelId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_criadoPorId_fkey" FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "tarefas" ADD CONSTRAINT "tarefas_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "subtarefas" ADD CONSTRAINT "subtarefas_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "comentarios" ADD CONSTRAINT "comentarios_criadoPorId_fkey" FOREIGN KEY ("criadoPorId") REFERENCES "usuarios"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "comentarios" ADD CONSTRAINT "comentarios_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "anexos" ADD CONSTRAINT "anexos_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "ResultadoProcesso" AS ENUM ('NAO_JULGADO', 'PROCEDENTE', 'PARCIALMENTE_PROCEDENTE', 'IMPROCEDENTE', 'SEM_ANALISE_MERITO');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "Processo" ADD COLUMN "resultado" "ResultadoProcesso" NOT NULL DEFAULT 'NAO_JULGADO';
|
||||
@@ -0,0 +1,2 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "tarefas" ADD COLUMN "dataConclusao" TIMESTAMP(3);
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the `anexos` table. If the table is not empty, all the data it contains will be lost.
|
||||
- You are about to drop the `anexos_atendimento` table. If the table is not empty, all the data it contains will be lost.
|
||||
|
||||
*/
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "anexos" DROP CONSTRAINT "anexos_tarefaId_fkey";
|
||||
|
||||
-- DropForeignKey
|
||||
ALTER TABLE "anexos_atendimento" DROP CONSTRAINT "anexos_atendimento_atendimentoId_fkey";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "anexos";
|
||||
|
||||
-- DropTable
|
||||
DROP TABLE "anexos_atendimento";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "Anexo" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" TEXT NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"tamanho" INTEGER NOT NULL,
|
||||
"atendimentoId" UUID,
|
||||
"tarefaId" UUID,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Anexo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Anexo_atendimentoId_idx" ON "Anexo"("atendimentoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "Anexo_tarefaId_idx" ON "Anexo"("tarefaId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Anexo" ADD CONSTRAINT "Anexo_atendimentoId_fkey" FOREIGN KEY ("atendimentoId") REFERENCES "atendimentos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "Anexo" ADD CONSTRAINT "Anexo_tarefaId_fkey" FOREIGN KEY ("tarefaId") REFERENCES "tarefas"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
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;
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- The `variaveis` column on the `modelos_documentos` table would be dropped and recreated. This will lead to data loss if there is data in the column.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "documentos" ADD COLUMN "protocolo" VARCHAR(20);
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "modelos_documentos" ADD COLUMN "assinatura" BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN "cabecalho" BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN "rodape" BOOLEAN NOT NULL DEFAULT true,
|
||||
DROP COLUMN "variaveis",
|
||||
ADD COLUMN "variaveis" JSONB;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "configuracoes_documentos" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"cabecalhoHtml" TEXT NOT NULL,
|
||||
"rodapeHtml" TEXT NOT NULL,
|
||||
"assinaturaHtml" TEXT NOT NULL,
|
||||
"logoUrl" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "configuracoes_documentos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "documentos_protocolo_idx" ON "documentos"("protocolo");
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the `configuracoes_documentos` table. If the table is not empty, all the data it contains will be lost.
|
||||
|
||||
*/
|
||||
-- DropTable
|
||||
DROP TABLE "configuracoes_documentos";
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "configuracao_documento" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"headerImageUrl" TEXT,
|
||||
"footerImageUrl" TEXT,
|
||||
"logoUrl" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "configuracao_documento_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -0,0 +1,6 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "configuracao_documento" ADD COLUMN "timbradoMarginBottom" INTEGER DEFAULT 50,
|
||||
ADD COLUMN "timbradoMarginLeft" INTEGER DEFAULT 50,
|
||||
ADD COLUMN "timbradoMarginRight" INTEGER DEFAULT 50,
|
||||
ADD COLUMN "timbradoMarginTop" INTEGER DEFAULT 100,
|
||||
ADD COLUMN "timbradoUrl" TEXT;
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `footerImageUrl` on the `configuracao_documento` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `headerImageUrl` on the `configuracao_documento` table. All the data in the column will be lost.
|
||||
- You are about to drop the column `logoUrl` on the `configuracao_documento` table. All the data in the column will be lost.
|
||||
- A unique constraint covering the columns `[escritorioId]` on the table `configuracao_documento` will be added. If there are existing duplicate values, this will fail.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "configuracao_documento" DROP COLUMN "footerImageUrl",
|
||||
DROP COLUMN "headerImageUrl",
|
||||
DROP COLUMN "logoUrl",
|
||||
ADD COLUMN "escritorioId" UUID,
|
||||
ADD COLUMN "margensTemplate" JSONB DEFAULT '{"top":35,"bottom":29,"left":25,"right":25}',
|
||||
ADD COLUMN "templatePadrao" TEXT;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "configuracao_documento_escritorioId_key" ON "configuracao_documento"("escritorioId");
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `escritorioId` on the `configuracao_documento` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- DropIndex
|
||||
DROP INDEX "configuracao_documento_escritorioId_key";
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "configuracao_documento" DROP COLUMN "escritorioId";
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "configuracao_documento_criadoEm_idx" ON "configuracao_documento"("criadoEm");
|
||||
@@ -0,0 +1,59 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusProcessoAdministrativo" AS ENUM ('INICIAL', 'EM_ANALISE', 'EM_RECURSO', 'FINALIZADO', 'ARQUIVADO');
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "documentos" ADD COLUMN "processoAdministrativoId" UUID;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "processos_administrativos" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"numero" TEXT NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"orgao" VARCHAR(200) NOT NULL,
|
||||
"clienteId" UUID NOT NULL,
|
||||
"tipoParteCliente" "TipoParte" NOT NULL,
|
||||
"valorPretensao" DECIMAL(15,2),
|
||||
"status" "StatusProcessoAdministrativo" NOT NULL DEFAULT 'INICIAL',
|
||||
"resultado" VARCHAR(100),
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"dataAtualizacao" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "processos_administrativos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "movimentacoes_administrativas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"data" TIMESTAMP(3) NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"tipoMovimentacao" VARCHAR(100) NOT NULL,
|
||||
"numero" VARCHAR(100),
|
||||
"documentos" TEXT[],
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "movimentacoes_administrativas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "processos_administrativos_numero_key" ON "processos_administrativos"("numero");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "processos_administrativos_clienteId_idx" ON "processos_administrativos"("clienteId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "movimentacoes_administrativas_processoId_idx" ON "movimentacoes_administrativas"("processoId");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "documentos_processoAdministrativoId_idx" ON "documentos"("processoAdministrativoId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "processos_administrativos" ADD CONSTRAINT "processos_administrativos_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "movimentacoes_administrativas" ADD CONSTRAINT "movimentacoes_administrativas_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos_administrativos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "documentos" ADD CONSTRAINT "documentos_processoAdministrativoId_fkey" FOREIGN KEY ("processoAdministrativoId") REFERENCES "processos_administrativos"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,27 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "TipoCustaAdministrativa" AS ENUM ('TAXA_ADMINISTRATIVA', 'RECURSO', 'DILIGENCIA', 'CERTIDAO', 'COPIA', 'OUTROS');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "custas_administrativas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tipo" "TipoCustaAdministrativa" NOT NULL,
|
||||
"descricao" VARCHAR(200) NOT NULL,
|
||||
"valor" DECIMAL(10,2) NOT NULL,
|
||||
"status" "StatusPagamento" NOT NULL DEFAULT 'PENDENTE',
|
||||
"vencimento" TIMESTAMP(3),
|
||||
"dataPagamento" TIMESTAMP(3),
|
||||
"comprovante" TEXT,
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"numeroParcelas" INTEGER NOT NULL DEFAULT 1,
|
||||
"parcelaAtual" INTEGER NOT NULL DEFAULT 1,
|
||||
|
||||
CONSTRAINT "custas_administrativas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX "custas_administrativas_processoId_idx" ON "custas_administrativas"("processoId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "custas_administrativas" ADD CONSTRAINT "custas_administrativas_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "processos_administrativos"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,21 @@
|
||||
-- CreateEnum
|
||||
CREATE TYPE "StatusProva" AS ENUM ('PENDENTE', 'PROCESSANDO', 'CONCLUIDO', 'ERRO');
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "provas" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"fileName" VARCHAR(255) NOT NULL,
|
||||
"mimeType" VARCHAR(100) NOT NULL,
|
||||
"checksumSha256" VARCHAR(64) NOT NULL,
|
||||
"checksumSha512" VARCHAR(128) NOT NULL,
|
||||
"checksumMd5" VARCHAR(32) NOT NULL,
|
||||
"timestamp" TEXT NOT NULL,
|
||||
"metadata" JSONB NOT NULL,
|
||||
"reportPath" VARCHAR(255) NOT NULL,
|
||||
"status" "StatusProva" NOT NULL DEFAULT 'PENDENTE',
|
||||
"error" TEXT,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"dataValida" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "provas_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
@@ -0,0 +1,263 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE "calculosjudiciais" (
|
||||
"id" TEXT NOT NULL,
|
||||
"titulo" TEXT NOT NULL,
|
||||
"descricao" TEXT,
|
||||
"dataBase" TIMESTAMP(3) NOT NULL,
|
||||
"dataCalculo" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"valorBase" DECIMAL(15,2) NOT NULL,
|
||||
"valorCorrigido" DECIMAL(15,2) NOT NULL,
|
||||
"valorFinal" DECIMAL(15,2) NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'RASCUNHO',
|
||||
"usuarioId" UUID,
|
||||
"processoId" UUID,
|
||||
"clienteId" UUID,
|
||||
"configuracoes" JSONB,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "calculosjudiciais_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "correcoes_monetarias" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"indice" TEXT NOT NULL,
|
||||
"dataInicial" TIMESTAMP(3) NOT NULL,
|
||||
"dataFinal" TIMESTAMP(3),
|
||||
"valorOriginal" DECIMAL(15,2) NOT NULL,
|
||||
"valorCorrigido" DECIMAL(15,2) NOT NULL,
|
||||
"fatorCorrecao" DECIMAL(15,6) NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "correcoes_monetarias_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "juros_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"taxa" DECIMAL(8,6) NOT NULL,
|
||||
"periodicidade" TEXT NOT NULL,
|
||||
"natureza" TEXT NOT NULL,
|
||||
"dataInicial" TIMESTAMP(3) NOT NULL,
|
||||
"dataFinal" TIMESTAMP(3),
|
||||
"valorBase" DECIMAL(15,2) NOT NULL,
|
||||
"valorJuros" DECIMAL(15,2) NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "juros_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "multas_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"percentual" DECIMAL(8,6) NOT NULL,
|
||||
"valorBase" DECIMAL(15,2) NOT NULL,
|
||||
"valorMulta" DECIMAL(15,2) NOT NULL,
|
||||
"fundamento" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "multas_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "honorarios_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"percentual" DECIMAL(8,6) NOT NULL,
|
||||
"valorBase" DECIMAL(15,2) NOT NULL,
|
||||
"valorHonorario" DECIMAL(15,2) NOT NULL,
|
||||
"fundamento" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "honorarios_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "parcelas_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"numero" INTEGER NOT NULL,
|
||||
"dataVencimento" TIMESTAMP(3) NOT NULL,
|
||||
"valorOriginal" DECIMAL(15,2) NOT NULL,
|
||||
"valorCorrigido" DECIMAL(15,2) NOT NULL,
|
||||
"valorJuros" DECIMAL(15,2) NOT NULL,
|
||||
"valorMulta" DECIMAL(15,2) NOT NULL,
|
||||
"valorTotal" DECIMAL(15,2) NOT NULL,
|
||||
"pago" BOOLEAN NOT NULL DEFAULT false,
|
||||
"dataPagamento" TIMESTAMP(3),
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "parcelas_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "descontos_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"descricao" TEXT,
|
||||
"percentual" DECIMAL(8,6),
|
||||
"valorFixo" DECIMAL(15,2),
|
||||
"valorBase" DECIMAL(15,2) NOT NULL,
|
||||
"valorDesconto" DECIMAL(15,2) NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "descontos_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "historicos_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"usuarioId" UUID,
|
||||
"acao" TEXT NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"valorAnterior" DECIMAL(15,2),
|
||||
"valorNovo" DECIMAL(15,2),
|
||||
"metadados" JSONB,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "historicos_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "exportacoes_calculos" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"usuarioId" UUID,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"arquivo" TEXT NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "exportacoes_calculos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "indices_monetarios" (
|
||||
"id" TEXT NOT NULL,
|
||||
"nome" TEXT NOT NULL,
|
||||
"mesReferencia" INTEGER NOT NULL,
|
||||
"anoReferencia" INTEGER NOT NULL,
|
||||
"valor" DECIMAL(15,6) NOT NULL,
|
||||
"dataPublicacao" TIMESTAMP(3),
|
||||
"fonte" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "indices_monetarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "pensoes_alimenticias" (
|
||||
"id" TEXT NOT NULL,
|
||||
"calculoId" TEXT NOT NULL,
|
||||
"percentualSalarioMinimo" DECIMAL(8,6) NOT NULL,
|
||||
"multaPactuada" DECIMAL(8,6),
|
||||
"tipoAtualizacao" TEXT NOT NULL DEFAULT 'INPC',
|
||||
"dataInicial" TIMESTAMP(3) NOT NULL,
|
||||
"dataFinal" TIMESTAMP(3),
|
||||
"observacoes" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "pensoes_alimenticias_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "historico_salario_minimo" (
|
||||
"id" TEXT NOT NULL,
|
||||
"pensaoId" TEXT NOT NULL,
|
||||
"dataVigencia" TIMESTAMP(3) NOT NULL,
|
||||
"valor" DECIMAL(15,2) NOT NULL,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "historico_salario_minimo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE "parcelas_pensao" (
|
||||
"id" TEXT NOT NULL,
|
||||
"pensaoId" TEXT NOT NULL,
|
||||
"competencia" TIMESTAMP(3) NOT NULL,
|
||||
"valorSalarioMinimo" DECIMAL(15,2) NOT NULL,
|
||||
"percentual" DECIMAL(8,6) NOT NULL,
|
||||
"valorOriginal" DECIMAL(15,2) NOT NULL,
|
||||
"valorCorrigido" DECIMAL(15,2) NOT NULL,
|
||||
"valorJuros" DECIMAL(15,2) NOT NULL,
|
||||
"valorMulta" DECIMAL(15,2) NOT NULL,
|
||||
"valorTotal" DECIMAL(15,2) NOT NULL,
|
||||
"pago" BOOLEAN NOT NULL DEFAULT false,
|
||||
"dataPagamento" TIMESTAMP(3),
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "parcelas_pensao_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "indices_monetarios_nome_mesReferencia_anoReferencia_key" ON "indices_monetarios"("nome", "mesReferencia", "anoReferencia");
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX "pensoes_alimenticias_calculoId_key" ON "pensoes_alimenticias"("calculoId");
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "calculosjudiciais" ADD CONSTRAINT "calculosjudiciais_usuarioId_fkey" FOREIGN KEY ("usuarioId") REFERENCES "usuarios"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "calculosjudiciais" ADD CONSTRAINT "calculosjudiciais_processoId_fkey" FOREIGN KEY ("processoId") REFERENCES "Processo"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "calculosjudiciais" ADD CONSTRAINT "calculosjudiciais_clienteId_fkey" FOREIGN KEY ("clienteId") REFERENCES "clientes"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "correcoes_monetarias" ADD CONSTRAINT "correcoes_monetarias_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "juros_calculos" ADD CONSTRAINT "juros_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "multas_calculos" ADD CONSTRAINT "multas_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "honorarios_calculos" ADD CONSTRAINT "honorarios_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "parcelas_calculos" ADD CONSTRAINT "parcelas_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "descontos_calculos" ADD CONSTRAINT "descontos_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "historicos_calculos" ADD CONSTRAINT "historicos_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "historicos_calculos" ADD CONSTRAINT "historicos_calculos_usuarioId_fkey" FOREIGN KEY ("usuarioId") REFERENCES "usuarios"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "exportacoes_calculos" ADD CONSTRAINT "exportacoes_calculos_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "exportacoes_calculos" ADD CONSTRAINT "exportacoes_calculos_usuarioId_fkey" FOREIGN KEY ("usuarioId") REFERENCES "usuarios"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "pensoes_alimenticias" ADD CONSTRAINT "pensoes_alimenticias_calculoId_fkey" FOREIGN KEY ("calculoId") REFERENCES "calculosjudiciais"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "historico_salario_minimo" ADD CONSTRAINT "historico_salario_minimo_pensaoId_fkey" FOREIGN KEY ("pensaoId") REFERENCES "pensoes_alimenticias"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE "parcelas_pensao" ADD CONSTRAINT "parcelas_pensao_pensaoId_fkey" FOREIGN KEY ("pensaoId") REFERENCES "pensoes_alimenticias"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,11 @@
|
||||
-- Adicionar campos para relatório de audiência
|
||||
ALTER TABLE "audiencias"
|
||||
ADD COLUMN IF NOT EXISTS "relatorio" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP,
|
||||
ALTER COLUMN "status" TYPE VARCHAR(20)
|
||||
USING CASE
|
||||
WHEN status = 'AGENDADA' THEN 'AGENDADA'::VARCHAR
|
||||
WHEN status = 'REALIZADA' THEN 'REALIZADA'::VARCHAR
|
||||
WHEN status = 'CANCELADA' THEN 'CANCELADA'::VARCHAR
|
||||
ELSE 'AGENDADA'::VARCHAR
|
||||
END;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes"
|
||||
ADD COLUMN IF NOT EXISTS "usaDNI" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN IF NOT EXISTS "possuiFilhos" BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN IF NOT EXISTS "orgaoEmissor" TEXT;
|
||||
@@ -0,0 +1,13 @@
|
||||
-- Criar tabela para documentos
|
||||
CREATE TABLE IF NOT EXISTS "documentos" (
|
||||
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- Adicionar índice para melhor performance
|
||||
CREATE INDEX IF NOT EXISTS "idx_documentos_processo" ON "documentos"("processoId");
|
||||
@@ -0,0 +1,25 @@
|
||||
-- AlterTable: Adicionar limites aos campos de texto
|
||||
ALTER TABLE "clientes"
|
||||
ALTER COLUMN "nome" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "email" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "cpfCnpj" TYPE VARCHAR(18),
|
||||
ALTER COLUMN "rg" TYPE VARCHAR(20),
|
||||
ALTER COLUMN "orgaoEmissor" TYPE VARCHAR(10),
|
||||
ALTER COLUMN "estadoRg" TYPE CHAR(2),
|
||||
ALTER COLUMN "telefone" TYPE VARCHAR(20),
|
||||
ALTER COLUMN "instagram" TYPE VARCHAR(50),
|
||||
ALTER COLUMN "cep" TYPE VARCHAR(9),
|
||||
ALTER COLUMN "endereco" TYPE VARCHAR(150),
|
||||
ALTER COLUMN "numero" TYPE VARCHAR(10),
|
||||
ALTER COLUMN "complemento" TYPE VARCHAR(50),
|
||||
ALTER COLUMN "bairro" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "cidade" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "estado" TYPE CHAR(2),
|
||||
ALTER COLUMN "estadoCivil" TYPE VARCHAR(20),
|
||||
ALTER COLUMN "profissao" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "vinculoEmpregaticio" TYPE VARCHAR(50),
|
||||
ALTER COLUMN "tipoPrevidencia" TYPE VARCHAR(20),
|
||||
ALTER COLUMN "nomePai" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "nomeMae" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "conjugeNome" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "conjugeCpf" TYPE VARCHAR(14);
|
||||
@@ -0,0 +1,11 @@
|
||||
-- AlterTable: Adicionar novos campos sem modificar os existentes
|
||||
ALTER TABLE "clientes"
|
||||
ADD COLUMN IF NOT EXISTS "dataNascimento" TIMESTAMP,
|
||||
ADD COLUMN IF NOT EXISTS "estadoRg" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "orgaoEmissor" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "usaDNI" BOOLEAN DEFAULT false,
|
||||
ADD COLUMN IF NOT EXISTS "possuiFilhos" BOOLEAN DEFAULT false;
|
||||
|
||||
-- AlterTable: Modificar valor default do tipoPrevidencia sem afetar dados existentes
|
||||
ALTER TABLE "clientes"
|
||||
ALTER COLUMN "tipoPrevidencia" SET DEFAULT 'NAO_CONTRIBUI';
|
||||
@@ -0,0 +1,83 @@
|
||||
-- Criar enum TipoParticipacao se não existir
|
||||
DO $$ BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'tipoparticipacao') THEN
|
||||
CREATE TYPE "TipoParticipacao" AS ENUM (
|
||||
'AUTOR',
|
||||
'REU',
|
||||
'TERCEIRO_INTERESSADO'
|
||||
);
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Criar tabela de partes_processo mantendo dados existentes
|
||||
CREATE TABLE IF NOT EXISTS "partes_processo" (
|
||||
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"clienteId" UUID,
|
||||
"tipo" "TipoParticipacao" NOT NULL,
|
||||
"nome" VARCHAR(200) NOT NULL,
|
||||
"cpfCnpj" VARCHAR(18),
|
||||
"principal" BOOLEAN NOT NULL DEFAULT false,
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId")
|
||||
REFERENCES "processos"("id")
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT "fk_partes_processo_cliente"
|
||||
FOREIGN KEY ("clienteId")
|
||||
REFERENCES "clientes"("id")
|
||||
ON DELETE SET NULL
|
||||
);
|
||||
|
||||
-- Criar índices para melhor performance
|
||||
CREATE INDEX IF NOT EXISTS "idx_partes_processo_processo" ON "partes_processo"("processoId");
|
||||
CREATE INDEX IF NOT EXISTS "idx_partes_processo_cliente" ON "partes_processo"("clienteId");
|
||||
|
||||
-- Migrar dados existentes para a nova estrutura
|
||||
INSERT INTO "partes_processo" (
|
||||
"processoId",
|
||||
"clienteId",
|
||||
"tipo",
|
||||
"nome",
|
||||
"principal"
|
||||
)
|
||||
SELECT
|
||||
p.id as "processoId",
|
||||
p."clienteId",
|
||||
p."tipoParteCliente"::TipoParticipacao as "tipo",
|
||||
c.nome as "nome",
|
||||
true as "principal"
|
||||
FROM "processos" p
|
||||
JOIN "clientes" c ON p."clienteId" = c.id
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM "partes_processo" pp
|
||||
WHERE pp."processoId" = p.id AND pp."clienteId" = p."clienteId"
|
||||
);
|
||||
|
||||
-- Adicionar partes contraparte
|
||||
INSERT INTO "partes_processo" (
|
||||
"processoId",
|
||||
"tipo",
|
||||
"nome",
|
||||
"principal"
|
||||
)
|
||||
SELECT
|
||||
p.id as "processoId",
|
||||
CASE
|
||||
WHEN p."tipoParteCliente" = 'AUTOR' THEN 'REU'::TipoParticipacao
|
||||
ELSE 'AUTOR'::TipoParticipacao
|
||||
END as "tipo",
|
||||
p."nomeContraparte" as "nome",
|
||||
false as "principal"
|
||||
FROM "processos" p
|
||||
WHERE p."nomeContraparte" IS NOT NULL
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM "partes_processo" pp
|
||||
WHERE pp."processoId" = p.id AND pp.nome = p."nomeContraparte"
|
||||
);
|
||||
|
||||
-- Não remover colunas antigas ainda para manter compatibilidade
|
||||
-- Em uma futura migração, após garantir que tudo está funcionando,
|
||||
-- podemos remover as colunas redundantes
|
||||
@@ -0,0 +1,98 @@
|
||||
-- Criar enums
|
||||
CREATE TYPE "NaturezaProcesso" AS ENUM (
|
||||
'CIVEL',
|
||||
'CRIMINAL',
|
||||
'PREVIDENCIARIO',
|
||||
'TRABALHISTA',
|
||||
'FAMILIA',
|
||||
'TRIBUTARIO',
|
||||
'ADMINISTRATIVO'
|
||||
);
|
||||
|
||||
CREATE TYPE "TipoParte" AS ENUM (
|
||||
'AUTOR',
|
||||
'REU'
|
||||
);
|
||||
|
||||
CREATE TYPE "StatusProcesso" AS ENUM (
|
||||
'INICIAL',
|
||||
'EM_ANDAMENTO',
|
||||
'SUSPENSO',
|
||||
'RECURSO',
|
||||
'CONCLUSO',
|
||||
'ARQUIVADO'
|
||||
);
|
||||
|
||||
CREATE TYPE "TipoDiligencia" AS ENUM (
|
||||
'CITACAO',
|
||||
'INTIMACAO',
|
||||
'NOTIFICACAO',
|
||||
'PERICIA',
|
||||
'OFICIAL_JUSTICA',
|
||||
'CARTA_PRECATORIA',
|
||||
'OUTROS'
|
||||
);
|
||||
|
||||
CREATE TYPE "TipoAudiencia" AS ENUM (
|
||||
'CONCILIACAO',
|
||||
'INSTRUCAO',
|
||||
'INICIAL',
|
||||
'JULGAMENTO',
|
||||
'MEDIACAO'
|
||||
);
|
||||
|
||||
-- Alterar a tabela de processos existente
|
||||
ALTER TABLE "processos"
|
||||
ADD COLUMN IF NOT EXISTS "natureza" "NaturezaProcesso",
|
||||
ADD COLUMN IF NOT EXISTS "tipoParteCliente" "TipoParte",
|
||||
ADD COLUMN IF NOT EXISTS "valorCausa" DECIMAL(15,2),
|
||||
ADD COLUMN IF NOT EXISTS "orgaoJulgador" VARCHAR(100),
|
||||
ADD COLUMN IF NOT EXISTS "orgaoOrigem" VARCHAR(100),
|
||||
ADD COLUMN IF NOT EXISTS "nomeContraparte" VARCHAR(100);
|
||||
|
||||
-- Criar nova tabela para diligências
|
||||
CREATE TABLE IF NOT EXISTS "diligencias" (
|
||||
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tipo" "TipoDiligencia" NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"dataLimite" TIMESTAMP NOT NULL,
|
||||
"status" VARCHAR(20) DEFAULT 'PENDENTE',
|
||||
"responsavel" VARCHAR(100),
|
||||
"observacoes" TEXT,
|
||||
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- Criar nova tabela para audiências
|
||||
CREATE TABLE IF NOT EXISTS "audiencias" (
|
||||
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"tipo" "TipoAudiencia" NOT NULL,
|
||||
"data" TIMESTAMP NOT NULL,
|
||||
"local" VARCHAR(200) NOT NULL,
|
||||
"modalidade" VARCHAR(20) DEFAULT 'PRESENCIAL',
|
||||
"linkVirtual" TEXT,
|
||||
"observacoes" TEXT,
|
||||
"status" VARCHAR(20) DEFAULT 'AGENDADA',
|
||||
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- Criar nova tabela para movimentações
|
||||
CREATE TABLE IF NOT EXISTS "movimentacoes" (
|
||||
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
"processoId" UUID NOT NULL,
|
||||
"data" TIMESTAMP NOT NULL,
|
||||
"descricao" TEXT NOT NULL,
|
||||
"tipo" VARCHAR(50) NOT NULL,
|
||||
"documento" TEXT,
|
||||
"dataCriacao" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE
|
||||
);
|
||||
|
||||
-- Adicionar índices para melhor performance
|
||||
CREATE INDEX IF NOT EXISTS "idx_processo_numero" ON "processos"("numero");
|
||||
CREATE INDEX IF NOT EXISTS "idx_diligencias_data" ON "diligencias"("dataLimite");
|
||||
CREATE INDEX IF NOT EXISTS "idx_audiencias_data" ON "audiencias"("data");
|
||||
CREATE INDEX IF NOT EXISTS "idx_movimentacoes_data" ON "movimentacoes"("data");
|
||||
@@ -0,0 +1,3 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes"
|
||||
ADD COLUMN IF NOT EXISTS "estadoRg" TEXT;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes"
|
||||
ALTER COLUMN "dataNascimento" TYPE DATE,
|
||||
ALTER COLUMN "orgaoEmissor" TYPE VARCHAR(10),
|
||||
ALTER COLUMN "estadoRg" TYPE CHAR(2);
|
||||
@@ -0,0 +1,15 @@
|
||||
-- AlterTable
|
||||
-- Primeiro, atualizar valores existentes para garantir que caibam no novo tipo
|
||||
UPDATE "clientes"
|
||||
SET "orgaoEmissor" = LEFT("orgaoEmissor", 10)
|
||||
WHERE "orgaoEmissor" IS NOT NULL;
|
||||
|
||||
UPDATE "clientes"
|
||||
SET "estadoRg" = UPPER(LEFT("estadoRg", 2))
|
||||
WHERE "estadoRg" IS NOT NULL;
|
||||
|
||||
-- Agora alterar os tipos das colunas
|
||||
ALTER TABLE "clientes"
|
||||
ALTER COLUMN "dataNascimento" TYPE DATE USING "dataNascimento"::DATE,
|
||||
ALTER COLUMN "orgaoEmissor" TYPE VARCHAR(10),
|
||||
ALTER COLUMN "estadoRg" TYPE CHAR(2);
|
||||
@@ -0,0 +1,5 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "clientes"
|
||||
ALTER COLUMN "orgaoEmissor" DROP DEFAULT,
|
||||
ALTER COLUMN "estadoRg" DROP DEFAULT,
|
||||
ALTER COLUMN "tipoPrevidencia" SET DEFAULT 'NAO_CONTRIBUI';
|
||||
@@ -0,0 +1,19 @@
|
||||
-- Remover campos antigos que não são mais necessários
|
||||
ALTER TABLE "processos" DROP COLUMN IF EXISTS "orgaoJulgadorId";
|
||||
ALTER TABLE "processos" DROP COLUMN IF EXISTS "orgaoJulgadorRef";
|
||||
ALTER TABLE "processos" DROP COLUMN IF EXISTS "eventoCalendarioId";
|
||||
ALTER TABLE "processos" DROP COLUMN IF EXISTS "ultimaConsulta";
|
||||
|
||||
-- Ajustar campos obrigatórios e tipos
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "natureza" SET NOT NULL,
|
||||
ALTER COLUMN "tipoParteCliente" SET NOT NULL,
|
||||
ALTER COLUMN "orgaoJulgador" SET NOT NULL,
|
||||
ALTER COLUMN "nomeContraparte" SET NOT NULL,
|
||||
ALTER COLUMN "orgaoJulgador" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "orgaoOrigem" TYPE VARCHAR(100),
|
||||
ALTER COLUMN "nomeContraparte" TYPE VARCHAR(100);
|
||||
|
||||
-- Adicionar índices
|
||||
CREATE INDEX IF NOT EXISTS "idx_processo_numero" ON "processos"("numero");
|
||||
CREATE INDEX IF NOT EXISTS "idx_processo_cliente" ON "processos"("clienteId");
|
||||
@@ -0,0 +1,28 @@
|
||||
-- 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');
|
||||
@@ -0,0 +1,24 @@
|
||||
-- Adicionar colunas novas sem modificar as existentes
|
||||
ALTER TABLE "audiencias"
|
||||
ADD COLUMN IF NOT EXISTS "relatorio" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP WITH TIME ZONE;
|
||||
|
||||
-- Atualizar coluna de status mantendo os dados existentes
|
||||
DO $$
|
||||
BEGIN
|
||||
-- Verificar se a constraint já existe antes de tentar remover
|
||||
IF EXISTS (SELECT 1 FROM information_schema.constraint_column_usage WHERE constraint_name = 'audiencias_status_check') THEN
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT "audiencias_status_check";
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Adicionar nova constraint de status
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_status_check"
|
||||
CHECK (status IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA'));
|
||||
|
||||
-- Atualizar valores existentes para o novo formato
|
||||
UPDATE "audiencias"
|
||||
SET status = 'AGENDADA'
|
||||
WHERE status NOT IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA')
|
||||
OR status IS NULL;
|
||||
@@ -0,0 +1,5 @@
|
||||
-- Adicionar coluna dadosDatajud
|
||||
ALTER TABLE "processos" ADD COLUMN "dadosDatajud" JSONB;
|
||||
|
||||
-- Criar índice GIN para busca em JSON
|
||||
CREATE INDEX "idx_processos_datajud" ON "processos" USING gin("dadosDatajud");
|
||||
@@ -0,0 +1,12 @@
|
||||
-- Adicionar novas colunas se não existirem
|
||||
ALTER TABLE "processos"
|
||||
ADD COLUMN IF NOT EXISTS "dataAjuizamento" TIMESTAMP,
|
||||
ADD COLUMN IF NOT EXISTS "classeProcessual" VARCHAR(255),
|
||||
ADD COLUMN IF NOT EXISTS "assuntos" TEXT[],
|
||||
ADD COLUMN IF NOT EXISTS "nivelSigilo" INTEGER,
|
||||
ADD COLUMN IF NOT EXISTS "dadosDatajud" JSONB;
|
||||
|
||||
-- Criar índices sem forçar
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_data_ajuizamento" ON "processos"("dataAjuizamento");
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_classe" ON "processos"("classeProcessual");
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_datajud" ON "processos" USING gin("dadosDatajud");
|
||||
@@ -0,0 +1,52 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
await prisma.$executeRaw`
|
||||
CREATE TYPE "TipoDocumento" AS ENUM ('PETICAO', 'CONTRATO', 'PROCURACAO', 'DECLARACAO', 'OUTROS');
|
||||
|
||||
-- Criar tabela de documentos
|
||||
CREATE TABLE IF NOT EXISTS "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 REFERENCES "processos"(id),
|
||||
"atendimentoId" UUID REFERENCES "atendimentos"(id),
|
||||
"anexoId" UUID UNIQUE REFERENCES "anexos"(id),
|
||||
"criadoPorId" UUID NOT NULL REFERENCES "usuarios"(id),
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "documentos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- Criar tabela de modelos de documentos
|
||||
CREATE TABLE IF NOT EXISTS "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[] DEFAULT ARRAY[]::TEXT[],
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
||||
|
||||
CONSTRAINT "documentos_modelos_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX "documentos_processoId_idx" ON "documentos"("processoId");
|
||||
CREATE INDEX "documentos_atendimentoId_idx" ON "documentos"("atendimentoId");
|
||||
`;
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Whitespace-only changes.
@@ -0,0 +1,9 @@
|
||||
ALTER TABLE "processos"
|
||||
ADD COLUMN IF NOT EXISTS "dataAjuizamento" TIMESTAMP,
|
||||
ADD COLUMN IF NOT EXISTS "classeProcessual" VARCHAR(255),
|
||||
ADD COLUMN IF NOT EXISTS "assuntos" TEXT[],
|
||||
ADD COLUMN IF NOT EXISTS "nivelSigilo" INTEGER;
|
||||
|
||||
-- Índices para melhorar performance
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_data_ajuizamento" ON "processos"("dataAjuizamento");
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_classe" ON "processos"("classeProcessual");
|
||||
@@ -0,0 +1,19 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
await prisma.$executeRaw`
|
||||
ALTER TABLE "configuracao_documento"
|
||||
ADD COLUMN "templatePadrao" TEXT,
|
||||
ADD COLUMN "margensTemplate" JSONB DEFAULT '{"top": 35, "bottom": 29, "left": 25, "right": 25}'::jsonb;
|
||||
`;
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
@@ -0,0 +1,22 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
await prisma.$executeRaw`
|
||||
ALTER TABLE "configuracao_documento"
|
||||
ADD COLUMN "timbradoUrl" TEXT,
|
||||
ADD COLUMN "timbradoMarginTop" INTEGER DEFAULT 100,
|
||||
ADD COLUMN "timbradoMarginBottom" INTEGER DEFAULT 50,
|
||||
ADD COLUMN "timbradoMarginLeft" INTEGER DEFAULT 50,
|
||||
ADD COLUMN "timbradoMarginRight" INTEGER DEFAULT 50;
|
||||
`;
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
@@ -0,0 +1,41 @@
|
||||
-- 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");
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Adicionar novas colunas sem remover as antigas
|
||||
ALTER TABLE "processos"
|
||||
ADD COLUMN IF NOT EXISTS "tribunalUF" VARCHAR(20),
|
||||
ADD COLUMN IF NOT EXISTS "tribunal" VARCHAR(50),
|
||||
ADD COLUMN IF NOT EXISTS "numeroOriginal" VARCHAR(50);
|
||||
|
||||
-- Migrar dados existentes mantendo os dados antigos
|
||||
UPDATE "processos"
|
||||
SET
|
||||
"tribunalUF" =
|
||||
CASE
|
||||
WHEN "orgaoJulgador" LIKE '%TJTO%' THEN 'TO'
|
||||
WHEN "orgaoJulgador" LIKE '%TRF1%' THEN 'DF'
|
||||
ELSE 'TO'
|
||||
END
|
||||
WHERE "tribunalUF" IS NULL;
|
||||
|
||||
UPDATE "processos"
|
||||
SET
|
||||
"tribunal" =
|
||||
CASE
|
||||
WHEN "orgaoJulgador" LIKE '%TJTO%' THEN 'TJTO'
|
||||
WHEN "orgaoJulgador" LIKE '%TRF1%' THEN 'TRF1'
|
||||
ELSE 'TJTO'
|
||||
END
|
||||
WHERE "tribunal" IS NULL;
|
||||
|
||||
-- Criar índices sem interferir nos existentes
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_tribunal" ON "processos"("tribunal");
|
||||
CREATE INDEX IF NOT EXISTS "idx_processos_tribunalUF" ON "processos"("tribunalUF");
|
||||
@@ -0,0 +1,23 @@
|
||||
-- Criar tipo temporário com todos os valores
|
||||
CREATE TYPE "StatusPagamento_new" AS ENUM ('PENDENTE', 'PARCIALMENTE_PAGO', 'PAGO', 'VENCIDO', 'CANCELADO');
|
||||
|
||||
-- Converter a coluna antiga para a nova
|
||||
ALTER TABLE "parcelas_honorario"
|
||||
ALTER COLUMN status TYPE "StatusPagamento_new"
|
||||
USING status::text::"StatusPagamento_new";
|
||||
|
||||
-- Remover o tipo antigo
|
||||
DROP TYPE "StatusPagamento";
|
||||
|
||||
-- Renomear o novo tipo para o nome original
|
||||
ALTER TYPE "StatusPagamento_new" RENAME TO "StatusPagamento";
|
||||
|
||||
-- Adicionar a coluna valorPago se ela não existir
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_name = 'parcelas_honorario'
|
||||
AND column_name = 'valorpago') THEN
|
||||
ALTER TABLE "parcelas_honorario" ADD COLUMN "valorPago" DECIMAL(10,2);
|
||||
END IF;
|
||||
END $$;
|
||||
@@ -0,0 +1,23 @@
|
||||
CREATE TABLE IF NOT EXISTS "Anexo" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" TEXT NOT NULL,
|
||||
"url" TEXT NOT NULL,
|
||||
"tipo" TEXT NOT NULL,
|
||||
"tamanho" INTEGER NOT NULL,
|
||||
"atendimentoId" UUID,
|
||||
"tarefaId" UUID,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "Anexo_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- Criar índices
|
||||
CREATE INDEX IF NOT EXISTS "Anexo_atendimentoId_idx" ON "Anexo"("atendimentoId");
|
||||
CREATE INDEX IF NOT EXISTS "Anexo_tarefaId_idx" ON "Anexo"("tarefaId");
|
||||
|
||||
-- Adicionar foreign keys
|
||||
ALTER TABLE "Anexo" ADD CONSTRAINT "Anexo_atendimentoId_fkey"
|
||||
FOREIGN KEY ("atendimentoId") REFERENCES "Atendimento"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE "Anexo" ADD CONSTRAINT "Anexo_tarefaId_fkey"
|
||||
FOREIGN KEY ("tarefaId") REFERENCES "Tarefa"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
@@ -0,0 +1,34 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
await prisma.$executeRaw`
|
||||
CREATE TABLE IF NOT EXISTS "configuracao_documento" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"headerImageUrl" TEXT,
|
||||
"footerImageUrl" TEXT,
|
||||
"logoUrl" TEXT,
|
||||
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "configuracao_documento_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
`;
|
||||
|
||||
// Inserir configuração padrão
|
||||
await prisma.configuracaoDocumento.create({
|
||||
data: {
|
||||
headerImageUrl: '',
|
||||
footerImageUrl: '',
|
||||
logoUrl: ''
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "processos"
|
||||
ADD COLUMN IF NOT EXISTS "statusAtividade" VARCHAR(20) NOT NULL DEFAULT 'ATIVO';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "audiencias"
|
||||
ADD COLUMN IF NOT EXISTS "relatorio" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP WITH TIME ZONE,
|
||||
ALTER COLUMN "status" SET DEFAULT 'AGENDADA';
|
||||
@@ -0,0 +1,2 @@
|
||||
-- Forçar sincronização do estado atual
|
||||
SELECT 1;
|
||||
@@ -0,0 +1,16 @@
|
||||
-- Primeiro, alterar as foreign keys existentes
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT IF EXISTS "audiencias_processoId_fkey";
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT IF EXISTS "fk_partes_processo_processo";
|
||||
|
||||
-- Converter a coluna id para UUID
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "id" TYPE UUID USING id::UUID;
|
||||
|
||||
-- Recriar as foreign keys
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
@@ -0,0 +1,13 @@
|
||||
-- Criar as tabelas principais
|
||||
CREATE TABLE "usuarios" (
|
||||
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
||||
"nome" VARCHAR(255) NOT NULL,
|
||||
"email" VARCHAR(255) NOT NULL UNIQUE,
|
||||
"senha" VARCHAR(255) NOT NULL,
|
||||
"cargo" VARCHAR(50) NOT NULL,
|
||||
"dataCriacao" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "usuarios_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
-- ... resto da criação das tabelas conforme schema.prisma ...
|
||||
@@ -0,0 +1,15 @@
|
||||
-- Verificar se todos os registros têm os valores
|
||||
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 $$;
|
||||
|
||||
-- Se passar da verificação, tornar as colunas NOT NULL
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "tribunalUF" SET NOT NULL,
|
||||
ALTER COLUMN "tribunal" SET NOT NULL;
|
||||
@@ -0,0 +1,43 @@
|
||||
-- Limpar migrações anteriores
|
||||
DELETE FROM "_prisma_migrations"
|
||||
WHERE migration_name LIKE '%add_audiencia_report%';
|
||||
|
||||
-- Atualizar tabela de audiências de forma segura
|
||||
DO $$
|
||||
BEGIN
|
||||
-- Adicionar novas colunas se não existirem
|
||||
BEGIN
|
||||
ALTER TABLE "audiencias"
|
||||
ADD COLUMN IF NOT EXISTS "relatorio" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "dataFinalizacao" TIMESTAMP WITH TIME ZONE;
|
||||
EXCEPTION
|
||||
WHEN duplicate_column THEN
|
||||
NULL;
|
||||
END;
|
||||
|
||||
-- Atualizar tipo da coluna status
|
||||
ALTER TABLE "audiencias"
|
||||
ALTER COLUMN "status" TYPE VARCHAR(20);
|
||||
|
||||
-- Remover constraint antiga se existir
|
||||
IF EXISTS (
|
||||
SELECT 1
|
||||
FROM information_schema.constraint_column_usage
|
||||
WHERE constraint_name = 'audiencias_status_check'
|
||||
) THEN
|
||||
ALTER TABLE "audiencias"
|
||||
DROP CONSTRAINT "audiencias_status_check";
|
||||
END IF;
|
||||
|
||||
-- Adicionar nova constraint
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_status_check"
|
||||
CHECK (status IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA'));
|
||||
|
||||
-- Atualizar registros existentes
|
||||
UPDATE "audiencias"
|
||||
SET status = 'AGENDADA'
|
||||
WHERE status NOT IN ('AGENDADA', 'REALIZADA', 'CANCELADA', 'REDESIGNADA')
|
||||
OR status IS NULL;
|
||||
|
||||
END $$;
|
||||
@@ -0,0 +1,22 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
async function main() {
|
||||
await prisma.$executeRaw`
|
||||
ALTER TABLE "configuracao_documento"
|
||||
ADD COLUMN IF NOT EXISTS "timbradoUrl" TEXT,
|
||||
ADD COLUMN IF NOT EXISTS "timbradoMarginTop" INTEGER DEFAULT 100,
|
||||
ADD COLUMN IF NOT EXISTS "timbradoMarginBottom" INTEGER DEFAULT 50,
|
||||
ADD COLUMN IF NOT EXISTS "timbradoMarginLeft" INTEGER DEFAULT 50,
|
||||
ADD COLUMN IF NOT EXISTS "timbradoMarginRight" INTEGER DEFAULT 50;
|
||||
`;
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
@@ -0,0 +1,18 @@
|
||||
-- Adicionando novas colunas
|
||||
ALTER TABLE "processos" ADD COLUMN "tribunalUF" VARCHAR(20);
|
||||
ALTER TABLE "processos" ADD COLUMN "tribunal" VARCHAR(50);
|
||||
ALTER TABLE "processos" ADD COLUMN "numeroOriginal" VARCHAR(50);
|
||||
|
||||
-- Preenchendo dados existentes (temporário)
|
||||
UPDATE "processos" SET
|
||||
"tribunalUF" = 'TO',
|
||||
"tribunal" = 'TJTO'
|
||||
WHERE "tribunalUF" IS NULL;
|
||||
|
||||
-- Tornando colunas NOT NULL após migração
|
||||
ALTER TABLE "processos" ALTER COLUMN "tribunalUF" SET NOT NULL;
|
||||
ALTER TABLE "processos" ALTER COLUMN "tribunal" SET NOT NULL;
|
||||
|
||||
-- Removendo colunas antigas
|
||||
ALTER TABLE "processos" DROP COLUMN "orgaoJulgador";
|
||||
ALTER TABLE "processos" DROP COLUMN "orgaoOrigem";
|
||||
@@ -0,0 +1,35 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
-- 1. Remover constraints existentes se existirem
|
||||
IF EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE constraint_name = 'audiencias_processoId_fkey') THEN
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT "audiencias_processoId_fkey";
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE constraint_name = 'fk_partes_processo_processo') THEN
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT "fk_partes_processo_processo";
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM information_schema.table_constraints WHERE constraint_name = 'movimentacoes_processoId_fkey') THEN
|
||||
ALTER TABLE "movimentacoes" DROP CONSTRAINT "movimentacoes_processoId_fkey";
|
||||
END IF;
|
||||
|
||||
-- 2. Garantir que todas as colunas são UUID
|
||||
ALTER TABLE "processos" ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid());
|
||||
ALTER TABLE "audiencias" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
ALTER TABLE "partes_processo" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
ALTER TABLE "movimentacoes" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- 3. Recriar as foreign keys
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "movimentacoes"
|
||||
ADD CONSTRAINT "movimentacoes_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
END $$;
|
||||
@@ -0,0 +1,51 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
-- 1. Remover todas as foreign keys primeiro
|
||||
ALTER TABLE "documentos" DROP CONSTRAINT IF EXISTS "documentos_processoId_fkey";
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT IF EXISTS "audiencias_processoId_fkey";
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT IF EXISTS "fk_partes_processo_processo";
|
||||
ALTER TABLE "movimentacoes" DROP CONSTRAINT IF EXISTS "movimentacoes_processoId_fkey";
|
||||
|
||||
-- 2. Alterar todos os IDs e chaves estrangeiras para UUID
|
||||
-- Processos
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid());
|
||||
|
||||
-- Documentos
|
||||
ALTER TABLE "documentos"
|
||||
ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid()),
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- Audiências
|
||||
ALTER TABLE "audiencias"
|
||||
ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid()),
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- Partes do Processo
|
||||
ALTER TABLE "partes_processo"
|
||||
ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid()),
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- Movimentações
|
||||
ALTER TABLE "movimentacoes"
|
||||
ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid()),
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- 3. Recriar todas as foreign keys
|
||||
ALTER TABLE "documentos"
|
||||
ADD CONSTRAINT "documentos_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "movimentacoes"
|
||||
ADD CONSTRAINT "movimentacoes_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
END $$;
|
||||
@@ -0,0 +1,24 @@
|
||||
-- Remove todas as foreign keys primeiro
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT IF EXISTS "audiencias_processoId_fkey";
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT IF EXISTS "fk_partes_processo_processo";
|
||||
ALTER TABLE "movimentacoes" DROP CONSTRAINT IF EXISTS "movimentacoes_processoId_fkey";
|
||||
|
||||
-- Corrige o tipo das colunas de ID
|
||||
ALTER TABLE "processos" ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid());
|
||||
ALTER TABLE "audiencias" ALTER COLUMN "id" TYPE UUID USING COALESCE("id"::UUID, gen_random_uuid());
|
||||
ALTER TABLE "audiencias" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
ALTER TABLE "partes_processo" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
ALTER TABLE "movimentacoes" ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- Recria as foreign keys
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "movimentacoes"
|
||||
ADD CONSTRAINT "movimentacoes_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
@@ -0,0 +1,30 @@
|
||||
-- Drop constraints first
|
||||
ALTER TABLE "partes_processo"
|
||||
DROP CONSTRAINT IF EXISTS "partes_processo_pkey",
|
||||
DROP CONSTRAINT IF EXISTS "partes_processo_processoId_fkey",
|
||||
DROP CONSTRAINT IF EXISTS "partes_processo_clienteId_fkey";
|
||||
|
||||
-- Fix columns and constraints
|
||||
ALTER TABLE "partes_processo"
|
||||
ALTER COLUMN "id" TYPE UUID USING id::UUID,
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID,
|
||||
ALTER COLUMN "clienteId" TYPE UUID USING "clienteId"::UUID,
|
||||
ALTER COLUMN "tipo" TYPE VARCHAR(20),
|
||||
ALTER COLUMN "nome" TYPE VARCHAR(200),
|
||||
ALTER COLUMN "cpfCnpj" TYPE VARCHAR(18),
|
||||
ADD PRIMARY KEY ("id");
|
||||
|
||||
-- Recreate foreign keys
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "partes_processo_processoId_fkey"
|
||||
FOREIGN KEY ("processoId")
|
||||
REFERENCES "processos"("id")
|
||||
ON DELETE CASCADE,
|
||||
ADD CONSTRAINT "partes_processo_clienteId_fkey"
|
||||
FOREIGN KEY ("clienteId")
|
||||
REFERENCES "clientes"("id")
|
||||
ON DELETE SET NULL;
|
||||
|
||||
-- Create indexes
|
||||
CREATE INDEX IF NOT EXISTS "partes_processo_processoId_idx" ON "partes_processo"("processoId");
|
||||
CREATE INDEX IF NOT EXISTS "partes_processo_clienteId_idx" ON "partes_processo"("clienteId");
|
||||
@@ -0,0 +1,2 @@
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "id" SET DEFAULT gen_random_uuid();
|
||||
@@ -0,0 +1,44 @@
|
||||
-- Garantir que todas as colunas de ID sejam UUID
|
||||
BEGIN;
|
||||
|
||||
-- Remover constraints existentes para evitar conflitos
|
||||
ALTER TABLE "audiencias" DROP CONSTRAINT IF EXISTS "audiencias_processoId_fkey";
|
||||
ALTER TABLE "partes_processo" DROP CONSTRAINT IF EXISTS "fk_partes_processo_processo";
|
||||
ALTER TABLE "diligencias" DROP CONSTRAINT IF EXISTS "diligencias_processoId_fkey";
|
||||
ALTER TABLE "movimentacoes" DROP CONSTRAINT IF EXISTS "movimentacoes_processoId_fkey";
|
||||
|
||||
-- Converter IDs para UUID
|
||||
ALTER TABLE "processos"
|
||||
ALTER COLUMN "id" TYPE UUID USING id::UUID;
|
||||
|
||||
ALTER TABLE "audiencias"
|
||||
ALTER COLUMN "id" TYPE UUID USING id::UUID,
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
ALTER TABLE "diligencias"
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
ALTER TABLE "movimentacoes"
|
||||
ALTER COLUMN "processoId" TYPE UUID USING "processoId"::UUID;
|
||||
|
||||
-- Recriar as foreign keys
|
||||
ALTER TABLE "audiencias"
|
||||
ADD CONSTRAINT "audiencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "partes_processo"
|
||||
ADD CONSTRAINT "fk_partes_processo_processo"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "diligencias"
|
||||
ADD CONSTRAINT "diligencias_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE "movimentacoes"
|
||||
ADD CONSTRAINT "movimentacoes_processoId_fkey"
|
||||
FOREIGN KEY ("processoId") REFERENCES "processos"("id") ON DELETE CASCADE;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,3 @@
|
||||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (e.g., Git)
|
||||
provider = "postgresql"
|
||||
@@ -0,0 +1,29 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import * as bcrypt from "bcryptjs";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
const senhaHash = await bcrypt.hash("34641747", 10);
|
||||
|
||||
await prisma.usuario.upsert({
|
||||
where: { email: "rodrigo@advx.com" },
|
||||
update: {},
|
||||
create: {
|
||||
email: "rodrigo@advx.com",
|
||||
nome: "Rodrigo",
|
||||
senha: senhaHash,
|
||||
cargo: "admin",
|
||||
dataCriacao: new Date(),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,46 @@
|
||||
import { PrismaClient, PerfilUsuario } from "@prisma/client";
|
||||
import bcrypt from "bcryptjs";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
// Criar usuário admin inicial
|
||||
const adminEmail = "admin@advx.com.br";
|
||||
|
||||
const existingAdmin = await prisma.usuario.findUnique({
|
||||
where: { email: adminEmail },
|
||||
});
|
||||
|
||||
if (existingAdmin) {
|
||||
await prisma.usuario.update({
|
||||
where: { email: adminEmail },
|
||||
data: {
|
||||
perfil: PerfilUsuario.ADVOGADO_ADMIN,
|
||||
nome: "Administrador",
|
||||
senha: await bcrypt.hash("admin123", 10),
|
||||
ativo: true,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
await prisma.usuario.create({
|
||||
data: {
|
||||
nome: "Administrador",
|
||||
email: adminEmail,
|
||||
senha: await bcrypt.hash("admin123", 10),
|
||||
perfil: PerfilUsuario.ADVOGADO_ADMIN,
|
||||
ativo: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
console.log(`Seed concluído com sucesso!`);
|
||||
}
|
||||
|
||||
main()
|
||||
.catch((e) => {
|
||||
console.error("Erro durante o seed:", e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in new issue
Block a user