Organize/prisma/migrations/20260817190137_add_schedule.../migration.sql

43 lines
1.5 KiB
SQL

-- CreateTable
CREATE TABLE "ScheduledTodo" (
"id" TEXT NOT NULL,
"title" VARCHAR(100) NOT NULL,
"details" TEXT,
"userId" TEXT,
"projectId" TEXT,
"startDate" DATE NOT NULL,
"rrule" TEXT,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "ScheduledTodo_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "ScheduledTodoCompletion" (
"id" TEXT NOT NULL,
"scheduledTodoId" TEXT NOT NULL,
"occurrenceDate" DATE NOT NULL,
"completedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "ScheduledTodoCompletion_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "ScheduledTodo_userId_idx" ON "ScheduledTodo"("userId");
-- CreateIndex
CREATE INDEX "ScheduledTodo_projectId_idx" ON "ScheduledTodo"("projectId");
-- CreateIndex
CREATE UNIQUE INDEX "ScheduledTodoCompletion_scheduledTodoId_occurrenceDate_key" ON "ScheduledTodoCompletion"("scheduledTodoId", "occurrenceDate");
-- AddForeignKey
ALTER TABLE "ScheduledTodo" ADD CONSTRAINT "ScheduledTodo_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "ScheduledTodo" ADD CONSTRAINT "ScheduledTodo_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "ScheduledTodoCompletion" ADD CONSTRAINT "ScheduledTodoCompletion_scheduledTodoId_fkey" FOREIGN KEY ("scheduledTodoId") REFERENCES "ScheduledTodo"("id") ON DELETE CASCADE ON UPDATE CASCADE;