-- CreateTable CREATE TABLE "State" ( "name" TEXT NOT NULL, CONSTRAINT "State_pkey" PRIMARY KEY ("name") ); -- CreateTable CREATE TABLE "Task" ( "id" TEXT NOT NULL, "title" TEXT NOT NULL, "description" TEXT NOT NULL, "dueDate" TEXT NOT NULL, "completed" BOOLEAN NOT NULL DEFAULT false, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "Task_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "StateHistory" ( "id" TEXT NOT NULL, "state" TEXT NOT NULL, "date" TEXT NOT NULL, "taskId" TEXT NOT NULL, "order" INTEGER NOT NULL, CONSTRAINT "StateHistory_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Note" ( "id" TEXT NOT NULL, "content" TEXT NOT NULL, "taskId" TEXT NOT NULL, "order" INTEGER NOT NULL, CONSTRAINT "Note_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "StateHistory_taskId_idx" ON "StateHistory"("taskId"); -- CreateIndex CREATE INDEX "Note_taskId_idx" ON "Note"("taskId"); -- AddForeignKey ALTER TABLE "StateHistory" ADD CONSTRAINT "StateHistory_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "StateHistory" ADD CONSTRAINT "StateHistory_state_fkey" FOREIGN KEY ("state") REFERENCES "State"("name") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Note" ADD CONSTRAINT "Note_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task"("id") ON DELETE CASCADE ON UPDATE CASCADE;