From 70802703e01925479096b6f86dd468d600b9e05d Mon Sep 17 00:00:00 2001 From: KaichiManabe <154493010+KaichiManabe@users.noreply.github.com> Date: Thu, 6 Mar 2025 18:53:31 +0900 Subject: [PATCH 1/2] add 0_init --- .../migration.sql | 34 ++++++++++++------- server/prisma/migrations/1_v2/migration.sql | 0 2 files changed, 22 insertions(+), 12 deletions(-) rename server/prisma/migrations/{20240910234439_init => 0_init}/migration.sql (86%) create mode 100644 server/prisma/migrations/1_v2/migration.sql diff --git a/server/prisma/migrations/20240910234439_init/migration.sql b/server/prisma/migrations/0_init/migration.sql similarity index 86% rename from server/prisma/migrations/20240910234439_init/migration.sql rename to server/prisma/migrations/0_init/migration.sql index a3f23aa4..57bdba04 100644 --- a/server/prisma/migrations/20240910234439_init/migration.sql +++ b/server/prisma/migrations/0_init/migration.sql @@ -1,5 +1,5 @@ -- CreateEnum -CREATE TYPE "Day" AS ENUM ('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'); +CREATE TYPE "Day" AS ENUM ('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun', 'other'); -- CreateEnum CREATE TYPE "MatchingStatus" AS ENUM ('PENDING', 'MATCHED', 'REJECTED'); @@ -8,21 +8,30 @@ CREATE TYPE "MatchingStatus" AS ENUM ('PENDING', 'MATCHED', 'REJECTED'); CREATE TABLE "User" ( "id" SERIAL NOT NULL, "guid" TEXT NOT NULL, - "name" TEXT NOT NULL DEFAULT 'ๅ็„กใ—', - "pictureUrl" TEXT NOT NULL DEFAULT '', - "grade" TEXT NOT NULL DEFAULT '', - "gender" TEXT NOT NULL DEFAULT '', - "hobby" TEXT NOT NULL DEFAULT '', - "intro_short" TEXT NOT NULL DEFAULT '', - "intro_long" TEXT NOT NULL DEFAULT '', + "name" TEXT NOT NULL, + "gender" TEXT NOT NULL, + "grade" TEXT NOT NULL, + "faculty" TEXT NOT NULL, + "department" TEXT NOT NULL, + "intro" TEXT NOT NULL, + "pictureUrl" TEXT NOT NULL, CONSTRAINT "User_pkey" PRIMARY KEY ("id") ); +-- CreateTable +CREATE TABLE "Avatar" ( + "guid" TEXT NOT NULL, + "data" BYTEA NOT NULL, + + CONSTRAINT "Avatar_pkey" PRIMARY KEY ("guid") +); + -- CreateTable CREATE TABLE "Course" ( "id" TEXT NOT NULL, "name" TEXT NOT NULL, + "teacher" TEXT NOT NULL, CONSTRAINT "Course_pkey" PRIMARY KEY ("id") ); @@ -94,20 +103,21 @@ CREATE UNIQUE INDEX "Relationship_sendingUserId_receivingUserId_key" ON "Relatio -- AddForeignKey ALTER TABLE "Slot" ADD CONSTRAINT "Slot_courseId_fkey" FOREIGN KEY ("courseId") REFERENCES "Course"("id") ON DELETE RESTRICT ON UPDATE CASCADE; --- AddForeignKey -ALTER TABLE "Enrollment" ADD CONSTRAINT "Enrollment_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - -- AddForeignKey ALTER TABLE "Enrollment" ADD CONSTRAINT "Enrollment_courseId_fkey" FOREIGN KEY ("courseId") REFERENCES "Course"("id") ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "Relationship" ADD CONSTRAINT "Relationship_sendingUserId_fkey" FOREIGN KEY ("sendingUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "Enrollment" ADD CONSTRAINT "Enrollment_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Relationship" ADD CONSTRAINT "Relationship_receivingUserId_fkey" FOREIGN KEY ("receivingUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; +-- AddForeignKey +ALTER TABLE "Relationship" ADD CONSTRAINT "Relationship_sendingUserId_fkey" FOREIGN KEY ("sendingUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + -- AddForeignKey ALTER TABLE "Message" ADD CONSTRAINT "Message_relationId_fkey" FOREIGN KEY ("relationId") REFERENCES "Relationship"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE "Message" ADD CONSTRAINT "Message_sharedRoomId_fkey" FOREIGN KEY ("sharedRoomId") REFERENCES "SharedRoom"("id") ON DELETE CASCADE ON UPDATE CASCADE; + diff --git a/server/prisma/migrations/1_v2/migration.sql b/server/prisma/migrations/1_v2/migration.sql new file mode 100644 index 00000000..e69de29b From f128f640b6f4ba6d45c321ed8b22b8f984609da5 Mon Sep 17 00:00:00 2001 From: KaichiManabe <154493010+KaichiManabe@users.noreply.github.com> Date: Thu, 6 Mar 2025 18:53:58 +0900 Subject: [PATCH 2/2] add 1_v2 --- server/prisma/migrations/1_v2/migration.sql | 43 +++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/server/prisma/migrations/1_v2/migration.sql b/server/prisma/migrations/1_v2/migration.sql index e69de29b..7daf56bd 100644 --- a/server/prisma/migrations/1_v2/migration.sql +++ b/server/prisma/migrations/1_v2/migration.sql @@ -0,0 +1,43 @@ +-- AlterTable +ALTER TABLE "Message" ADD COLUMN "isPicture" BOOLEAN NOT NULL DEFAULT false, +ADD COLUMN "read" BOOLEAN NOT NULL DEFAULT false; + +-- AlterTable +ALTER TABLE "User" ALTER COLUMN "pictureUrl" SET DEFAULT '/avatar.svg'; + +-- CreateTable +CREATE TABLE "Picture" ( + "hash" TEXT NOT NULL, + "data" BYTEA NOT NULL, + "key" TEXT NOT NULL, + + CONSTRAINT "Picture_pkey" PRIMARY KEY ("hash") +); + +-- CreateTable +CREATE TABLE "InterestSubject" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "group" TEXT NOT NULL, + + CONSTRAINT "InterestSubject_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Interest" ( + "userId" INTEGER NOT NULL, + "subjectId" INTEGER NOT NULL +); + +-- CreateIndex +CREATE UNIQUE INDEX "InterestSubject_name_group_key" ON "InterestSubject"("name", "group"); + +-- CreateIndex +CREATE UNIQUE INDEX "Interest_userId_subjectId_key" ON "Interest"("userId", "subjectId"); + +-- AddForeignKey +ALTER TABLE "Interest" ADD CONSTRAINT "Interest_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Interest" ADD CONSTRAINT "Interest_subjectId_fkey" FOREIGN KEY ("subjectId") REFERENCES "InterestSubject"("id") ON DELETE CASCADE ON UPDATE CASCADE; +