-- AlterTable ALTER TABLE "Document" ADD COLUMN "folderId" INTEGER; -- CreateTable CREATE TABLE "Folder" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "userId" INTEGER NOT NULL, "teamId" INTEGER, "parentId" INTEGER, "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Folder_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE INDEX "Folder_userId_idx" ON "Folder"("userId"); -- CreateIndex CREATE INDEX "Folder_teamId_idx" ON "Folder"("teamId"); -- CreateIndex CREATE INDEX "Folder_parentId_idx" ON "Folder"("parentId"); -- CreateIndex CREATE INDEX "Document_folderId_idx" ON "Document"("folderId"); -- AddForeignKey ALTER TABLE "Folder" ADD CONSTRAINT "Folder_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Folder" ADD CONSTRAINT "Folder_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Folder" ADD CONSTRAINT "Folder_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "Folder"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Document" ADD CONSTRAINT "Document_folderId_fkey" FOREIGN KEY ("folderId") REFERENCES "Folder"("id") ON DELETE SET NULL ON UPDATE CASCADE;