-- CreateTable CREATE TABLE "WorkflowTemplate" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, "status" "Status" NOT NULL DEFAULT 'CREATED', "statusOrder" INTEGER NOT NULL DEFAULT 0, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "createdByUserId" TEXT, "updatedAt" TIMESTAMP(3) NOT NULL, "updatedByUserId" TEXT, CONSTRAINT "WorkflowTemplate_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "WorkflowTemplateStep" ( "id" TEXT NOT NULL, "order" INTEGER NOT NULL, "name" TEXT NOT NULL, "type" TEXT, "workflowTemplateId" TEXT, CONSTRAINT "WorkflowTemplateStep_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "WorkflowTemplateStepValue" ( "id" TEXT NOT NULL, "value" TEXT NOT NULL, "workflowTemplateStepId" TEXT NOT NULL, CONSTRAINT "WorkflowTemplateStepValue_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "WorkflowTemplateStepUser" ( "userId" TEXT NOT NULL, "workflowTemplateStepId" TEXT NOT NULL, CONSTRAINT "WorkflowTemplateStepUser_pkey" PRIMARY KEY ("userId","workflowTemplateStepId") ); -- AddForeignKey ALTER TABLE "WorkflowTemplate" ADD CONSTRAINT "WorkflowTemplate_createdByUserId_fkey" FOREIGN KEY ("createdByUserId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "WorkflowTemplate" ADD CONSTRAINT "WorkflowTemplate_updatedByUserId_fkey" FOREIGN KEY ("updatedByUserId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "WorkflowTemplateStep" ADD CONSTRAINT "WorkflowTemplateStep_workflowTemplateId_fkey" FOREIGN KEY ("workflowTemplateId") REFERENCES "WorkflowTemplate"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "WorkflowTemplateStepValue" ADD CONSTRAINT "WorkflowTemplateStepValue_workflowTemplateStepId_fkey" FOREIGN KEY ("workflowTemplateStepId") REFERENCES "WorkflowTemplateStep"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "WorkflowTemplateStepUser" ADD CONSTRAINT "WorkflowTemplateStepUser_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "WorkflowTemplateStepUser" ADD CONSTRAINT "WorkflowTemplateStepUser_workflowTemplateStepId_fkey" FOREIGN KEY ("workflowTemplateStepId") REFERENCES "WorkflowTemplateStep"("id") ON DELETE RESTRICT ON UPDATE CASCADE;