42 lines
1.6 KiB
SQL
42 lines
1.6 KiB
SQL
-- CreateEnum
|
|
CREATE TYPE "IntegrationRequestStatus" AS ENUM ('PENDING', 'RETRYING', 'SUCCESS', 'ERROR');
|
|
|
|
-- CreateEnum
|
|
CREATE TYPE "WorkflowRunStepStatus" AS ENUM ('PENDING', 'RUNNING', 'SUCCESS', 'ERROR');
|
|
|
|
-- AlterEnum
|
|
ALTER TYPE "WorkflowRunStepType" ADD VALUE 'INTEGRATION_REQUEST';
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "WorkflowRunStep" ADD COLUMN "status" "WorkflowRunStepStatus" NOT NULL DEFAULT 'PENDING';
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "IntegrationRequest" (
|
|
"id" TEXT NOT NULL,
|
|
"params" JSONB NOT NULL,
|
|
"endpoint" TEXT NOT NULL,
|
|
"externalServiceId" TEXT NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
"status" "IntegrationRequestStatus" NOT NULL DEFAULT 'PENDING',
|
|
"runId" TEXT NOT NULL,
|
|
"stepId" TEXT NOT NULL,
|
|
"retryCount" INTEGER NOT NULL DEFAULT 0,
|
|
"error" JSONB,
|
|
"response" JSONB,
|
|
|
|
CONSTRAINT "IntegrationRequest_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "IntegrationRequest_stepId_key" ON "IntegrationRequest"("stepId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "IntegrationRequest" ADD CONSTRAINT "IntegrationRequest_externalServiceId_fkey" FOREIGN KEY ("externalServiceId") REFERENCES "ExternalService"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "IntegrationRequest" ADD CONSTRAINT "IntegrationRequest_runId_fkey" FOREIGN KEY ("runId") REFERENCES "WorkflowRun"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "IntegrationRequest" ADD CONSTRAINT "IntegrationRequest_stepId_fkey" FOREIGN KEY ("stepId") REFERENCES "WorkflowRunStep"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|