31 lines
884 B
SQL
31 lines
884 B
SQL
-- CreateEnum
|
|
CREATE TYPE "Role" AS ENUM ('USER', 'ADMIN');
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "User" (
|
|
"id" SERIAL NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"email" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"role" "Role" NOT NULL DEFAULT 'USER',
|
|
|
|
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Post" (
|
|
"id" SERIAL NOT NULL,
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
|
"published" BOOLEAN NOT NULL DEFAULT false,
|
|
"title" VARCHAR(255) NOT NULL,
|
|
"authorId" INTEGER,
|
|
|
|
CONSTRAINT "Post_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "Post" ADD CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|