-- CreateEnum CREATE TYPE "TemplateType" AS ENUM ('PRIVATE', 'PUBLIC'); -- CreateTable CREATE TABLE "Template" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "slug" TEXT NOT NULL, "kind" "TemplateType" NOT NULL, "ownerId" INTEGER NOT NULL, "documentId" INTEGER NOT NULL, CONSTRAINT "Template_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "DocumentContent" ( "id" SERIAL NOT NULL, "content" TEXT NOT NULL, CONSTRAINT "DocumentContent_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "Template_slug_key" ON "Template"("slug"); -- CreateIndex CREATE INDEX "Template_ownerId_idx" ON "Template"("ownerId"); -- AddForeignKey ALTER TABLE "Template" ADD CONSTRAINT "Template_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Template" ADD CONSTRAINT "Template_documentId_fkey" FOREIGN KEY ("documentId") REFERENCES "DocumentContent"("id") ON DELETE CASCADE ON UPDATE CASCADE;