42 lines
1.2 KiB
SQL
42 lines
1.2 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "ExportJobStatus" AS ENUM ('PENDING', 'RUNNING', 'COMPLETED', 'FAILED');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ExportJob" (
|
|
"id" TEXT NOT NULL,
|
|
"tenantId" TEXT NOT NULL,
|
|
"requestedByUserId" TEXT,
|
|
"exportType" TEXT NOT NULL,
|
|
"format" TEXT NOT NULL,
|
|
"status" "ExportJobStatus" NOT NULL DEFAULT 'PENDING',
|
|
"requestId" TEXT NOT NULL,
|
|
"attemptsMade" INTEGER NOT NULL DEFAULT 0,
|
|
"artifactBucket" TEXT,
|
|
"artifactKey" TEXT,
|
|
"rowCount" INTEGER,
|
|
"errorName" TEXT,
|
|
"errorMessage" TEXT,
|
|
"expiresAt" TIMESTAMP(3),
|
|
"startedAt" TIMESTAMP(3),
|
|
"finishedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "ExportJob_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ExportJob_tenantId_status_idx" ON "ExportJob"("tenantId", "status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ExportJob_tenantId_createdAt_idx" ON "ExportJob"("tenantId", "createdAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ExportJob_requestId_idx" ON "ExportJob"("requestId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ExportJob_expiresAt_idx" ON "ExportJob"("expiresAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ExportJob_status_updatedAt_idx" ON "ExportJob"("status", "updatedAt");
|