56 lines
2.0 KiB
SQL
56 lines
2.0 KiB
SQL
-- CreateEnum
|
|||
|
|
CREATE TYPE "ActivityType" AS ENUM ('call', 'meeting', 'task', 'note');
|
||
|
|
|
||
|
|
-- CreateEnum
|
||
|
|
CREATE TYPE "ActivityStatus" AS ENUM ('open', 'done', 'canceled');
|
||
|
|
|
||
|
|
-- CreateTable
|
||
|
|
CREATE TABLE "Activity" (
|
||
|
|
"id" TEXT NOT NULL,
|
||
|
|
"organizationId" TEXT NOT NULL,
|
||
|
|
"type" "ActivityType" NOT NULL DEFAULT 'task',
|
||
|
|
"status" "ActivityStatus" NOT NULL DEFAULT 'open',
|
||
|
|
"title" TEXT NOT NULL,
|
||
|
|
"description" TEXT,
|
||
|
|
"dueAt" TIMESTAMP(3),
|
||
|
|
"completedAt" TIMESTAMP(3),
|
||
|
|
"personId" TEXT,
|
||
|
|
"companyId" TEXT,
|
||
|
|
"dealId" TEXT,
|
||
|
|
"assigneeId" TEXT,
|
||
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
|
||
|
|
CONSTRAINT "Activity_pkey" PRIMARY KEY ("id")
|
||
|
|
);
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Activity_organizationId_status_dueAt_idx" ON "Activity"("organizationId", "status", "dueAt");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Activity_organizationId_assigneeId_idx" ON "Activity"("organizationId", "assigneeId");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Activity_personId_idx" ON "Activity"("personId");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Activity_companyId_idx" ON "Activity"("companyId");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "Activity_dealId_idx" ON "Activity"("dealId");
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Activity" ADD CONSTRAINT "Activity_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Activity" ADD CONSTRAINT "Activity_personId_fkey" FOREIGN KEY ("personId") REFERENCES "Person"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Activity" ADD CONSTRAINT "Activity_companyId_fkey" FOREIGN KEY ("companyId") REFERENCES "Company"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Activity" ADD CONSTRAINT "Activity_dealId_fkey" FOREIGN KEY ("dealId") REFERENCES "Deal"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "Activity" ADD CONSTRAINT "Activity_assigneeId_fkey" FOREIGN KEY ("assigneeId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|