mirror of
https://github.com/DerTyp7/explainegy-nextjs.git
synced 2025-10-29 21:02:13 +01:00
110 lines
3.3 KiB
SQL
110 lines
3.3 KiB
SQL
-- 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;
|