Files
twenty/server/src/database/migrations/20230602102913_create_pipelines/migration.sql
2023-06-02 12:39:58 +02:00

60 lines
2.2 KiB
SQL

-- CreateEnum
CREATE TYPE "PipelineProgressableType" AS ENUM ('Person', 'Company');
-- CreateTable
CREATE TABLE "pipelines" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"deletedAt" TIMESTAMP(3),
"name" TEXT NOT NULL,
"icon" TEXT NOT NULL,
"workspaceId" TEXT NOT NULL,
CONSTRAINT "pipelines_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "pipeline_stages" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"deletedAt" TIMESTAMP(3),
"name" TEXT NOT NULL,
"type" TEXT NOT NULL,
"color" TEXT NOT NULL,
"pipelineId" TEXT NOT NULL,
"workspaceId" TEXT NOT NULL,
CONSTRAINT "pipeline_stages_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "pipeline_progresses" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"deletedAt" TIMESTAMP(3),
"pipelineId" TEXT NOT NULL,
"pipelineStageId" TEXT NOT NULL,
"associableType" "PipelineProgressableType" NOT NULL,
"associableId" TEXT NOT NULL,
CONSTRAINT "pipeline_progresses_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "pipelines" ADD CONSTRAINT "pipelines_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "workspaces"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "pipeline_stages" ADD CONSTRAINT "pipeline_stages_pipelineId_fkey" FOREIGN KEY ("pipelineId") REFERENCES "pipelines"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "pipeline_stages" ADD CONSTRAINT "pipeline_stages_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "workspaces"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "pipeline_progresses" ADD CONSTRAINT "pipeline_progresses_pipelineId_fkey" FOREIGN KEY ("pipelineId") REFERENCES "pipelines"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "pipeline_progresses" ADD CONSTRAINT "pipeline_progresses_pipelineStageId_fkey" FOREIGN KEY ("pipelineStageId") REFERENCES "pipeline_stages"("id") ON DELETE RESTRICT ON UPDATE CASCADE;