-- CreateTable CREATE TABLE "Article" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "title" TEXT NOT NULL, "markdown" TEXT NOT NULL, "categoryId" INTEGER, "typeId" INTEGER, "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "dateUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Article_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "ContentTableEntry" ( "id" SERIAL NOT NULL, "title" TEXT NOT NULL, "anchor" TEXT NOT NULL, "orderIndex" INTEGER NOT NULL, "articleId" INTEGER NOT NULL, "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "dateUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "ContentTableEntry_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Category" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "title" TEXT NOT NULL, "color" TEXT NOT NULL, "svgId" INTEGER NOT NULL, "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "dateUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Category_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "ArticleType" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "title" TEXT NOT NULL, "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "dateUpdated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "ArticleType_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Image" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "url" TEXT NOT NULL DEFAULT '', "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT "Image_pkey" PRIMARY KEY ("id") ); -- CreateTable CREATE TABLE "Svg" ( "id" SERIAL NOT NULL, "name" TEXT NOT NULL, "path" TEXT NOT NULL DEFAULT '', "viewbox" TEXT NOT NULL DEFAULT '0 0 512 512', CONSTRAINT "Svg_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "Article_name_key" ON "Article"("name"); -- CreateIndex CREATE UNIQUE INDEX "Article_title_key" ON "Article"("title"); -- CreateIndex CREATE UNIQUE INDEX "Category_name_key" ON "Category"("name"); -- CreateIndex CREATE UNIQUE INDEX "Category_title_key" ON "Category"("title"); -- CreateIndex CREATE UNIQUE INDEX "Category_color_key" ON "Category"("color"); -- CreateIndex CREATE UNIQUE INDEX "ArticleType_name_key" ON "ArticleType"("name"); -- CreateIndex CREATE UNIQUE INDEX "ArticleType_title_key" ON "ArticleType"("title"); -- CreateIndex CREATE UNIQUE INDEX "Image_name_key" ON "Image"("name"); -- CreateIndex CREATE UNIQUE INDEX "Svg_name_key" ON "Svg"("name"); -- AddForeignKey ALTER TABLE "Article" ADD CONSTRAINT "Article_categoryId_fkey" FOREIGN KEY ("categoryId") REFERENCES "Category"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Article" ADD CONSTRAINT "Article_typeId_fkey" FOREIGN KEY ("typeId") REFERENCES "ArticleType"("id") ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "ContentTableEntry" ADD CONSTRAINT "ContentTableEntry_articleId_fkey" FOREIGN KEY ("articleId") REFERENCES "Article"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Category" ADD CONSTRAINT "Category_svgId_fkey" FOREIGN KEY ("svgId") REFERENCES "Svg"("id") ON DELETE RESTRICT ON UPDATE CASCADE;