31 lines
979 B
SQL
31 lines
979 B
SQL
-- CreateEnum
|
|
CREATE TYPE "TaskStatus" AS ENUM ('PENDING', 'RUNNING', 'COMPLETED', 'ERRORED');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Task" (
|
|
"id" TEXT NOT NULL,
|
|
"idempotencyKey" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"ts" BIGINT NOT NULL,
|
|
"status" "TaskStatus" NOT NULL DEFAULT 'PENDING',
|
|
"delayUntil" TIMESTAMP(3),
|
|
"description" TEXT,
|
|
"displayProperties" JSONB,
|
|
"params" JSONB,
|
|
"output" JSONB,
|
|
"error" TEXT,
|
|
"startedAt" TIMESTAMP(3),
|
|
"finishedAt" TIMESTAMP(3),
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
"executionId" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "Task_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Task_executionId_idempotencyKey_key" ON "Task"("executionId", "idempotencyKey");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_executionId_fkey" FOREIGN KEY ("executionId") REFERENCES "Execution"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|