37 lines
1.1 KiB
SQL
37 lines
1.1 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "User" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"email" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"role" TEXT NOT NULL DEFAULT 'USER',
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Profile" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"bio" TEXT NOT NULL,
|
|
"avatar" TEXT NOT NULL,
|
|
"userId" INTEGER NOT NULL,
|
|
CONSTRAINT "Profile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Post" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"title" TEXT NOT NULL,
|
|
"content" TEXT,
|
|
"published" BOOLEAN NOT NULL DEFAULT false,
|
|
"authorId" INTEGER NOT NULL,
|
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updatedAt" DATETIME NOT NULL,
|
|
CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Profile_userId_key" ON "Profile"("userId");
|