23 lines
965 B
SQL
23 lines
965 B
SQL
CREATE TYPE "CanalNotificacao" AS ENUM ('EMAIL', 'WHATSAPP');
|
|
CREATE TYPE "StatusNotificacao" AS ENUM ('PENDENTE', 'ENVIADO', 'ERRO');
|
|
|
|
CREATE TABLE "envios_notificacao" (
|
|
"id" TEXT NOT NULL,
|
|
"briefingId" TEXT NOT NULL,
|
|
"canal" "CanalNotificacao" NOT NULL,
|
|
"destino" TEXT NOT NULL,
|
|
"assunto" TEXT,
|
|
"status" "StatusNotificacao" NOT NULL DEFAULT 'PENDENTE',
|
|
"erro" TEXT,
|
|
"tentativas" INTEGER NOT NULL DEFAULT 0,
|
|
"criadoEm" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"atualizadoEm" TIMESTAMP(3) NOT NULL,
|
|
"enviadoEm" TIMESTAMP(3),
|
|
CONSTRAINT "envios_notificacao_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE INDEX "envios_notificacao_briefingId_idx" ON "envios_notificacao"("briefingId");
|
|
CREATE INDEX "envios_notificacao_status_idx" ON "envios_notificacao"("status");
|
|
|
|
ALTER TABLE "envios_notificacao" ADD CONSTRAINT "envios_notificacao_briefingId_fkey" FOREIGN KEY ("briefingId") REFERENCES "briefings"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|