timetable-app

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 3871330edf11b02a8f5bbf8e1352aecdbdc934a4
parent 5672d63f2a164a472bd0cb98bb38c65e1a7bd61f
Author: Yuukin256 <Yuukin256@gmail.com>
Date:   Sat,  5 Nov 2022 01:47:33 +0900

データ構成を変更

Diffstat:
Dsrc/prisma/migrations/20221104132254_init/migration.sql | 102-------------------------------------------------------------------------------
Asrc/prisma/migrations/20221104164713_init/migration.sql | 107+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/prisma/schema.prisma | 27++++++++++++++++-----------
3 files changed, 123 insertions(+), 113 deletions(-)

diff --git a/src/prisma/migrations/20221104132254_init/migration.sql b/src/prisma/migrations/20221104132254_init/migration.sql @@ -1,102 +0,0 @@ --- CreateEnum -CREATE TYPE "AbstractLessonName" AS ENUM ('Mon1', 'Mon2', 'Mon3', 'Mon4', 'Mon5', 'Mon6', 'Mon7', 'Tue1', 'Tue2', 'Tue3', 'Tue4', 'Tue5', 'Tue6', 'Tue7', 'Wed1', 'Wed2', 'Wed3', 'Wed4', 'Wed5', 'Wed6', 'Wed7', 'Thu1', 'Thu2', 'Thu3', 'Thu4', 'Thu5', 'Thu6', 'Fri1', 'Fri2', 'Fri3', 'Fri4', 'Fri5', 'Fri6', 'Fri7'); - --- CreateTable -CREATE TABLE "SchoolGrade" ( - "grade" INTEGER NOT NULL, - - CONSTRAINT "SchoolGrade_pkey" PRIMARY KEY ("grade") -); - --- CreateTable -CREATE TABLE "SchoolClass" ( - "id" INTEGER NOT NULL, - "class" INTEGER NOT NULL, - "grade" INTEGER NOT NULL, - - CONSTRAINT "SchoolClass_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "Standard" ( - "classId" INTEGER NOT NULL, - "Mon1" TEXT[], - "Mon2" TEXT[], - "Mon3" TEXT[], - "Mon4" TEXT[], - "Mon5" TEXT[], - "Mon6" TEXT[], - "Mon7" TEXT[], - "Tue1" TEXT[], - "Tue2" TEXT[], - "Tue3" TEXT[], - "Tue4" TEXT[], - "Tue5" TEXT[], - "Tue6" TEXT[], - "Tue7" TEXT[], - "Wed1" TEXT[], - "Wed2" TEXT[], - "Wed3" TEXT[], - "Wed4" TEXT[], - "Wed5" TEXT[], - "Wed6" TEXT[], - "Wed7" TEXT[], - "Thu1" TEXT[], - "Thu2" TEXT[], - "Thu3" TEXT[], - "Thu4" TEXT[], - "Thu5" TEXT[], - "Thu6" TEXT[], - "Fri1" TEXT[], - "Fri2" TEXT[], - "Fri3" TEXT[], - "Fri4" TEXT[], - "Fri5" TEXT[], - "Fri6" TEXT[], - "Fri7" TEXT[], - - CONSTRAINT "Standard_pkey" PRIMARY KEY ("classId") -); - --- CreateTable -CREATE TABLE "AbstractTimetableUnit" ( - "id" SERIAL NOT NULL, - "grade" INTEGER NOT NULL, - "date" DATE NOT NULL, - "schoolTime" INTEGER NOT NULL, - "abstractLessonName" "AbstractLessonName" NOT NULL, - - CONSTRAINT "AbstractTimetableUnit_pkey" PRIMARY KEY ("id") -); - --- CreateTable -CREATE TABLE "UnusualChange" ( - "id" SERIAL NOT NULL, - "classId" INTEGER NOT NULL, - "date" DATE NOT NULL, - "schoolTime" INTEGER NOT NULL, - "lessonName" TEXT[], - - CONSTRAINT "UnusualChange_pkey" PRIMARY KEY ("id") -); - --- CreateIndex -CREATE UNIQUE INDEX "SchoolClass_grade_class_key" ON "SchoolClass"("grade", "class"); - --- CreateIndex -CREATE UNIQUE INDEX "AbstractTimetableUnit_grade_date_schoolTime_key" ON "AbstractTimetableUnit"("grade", "date", "schoolTime"); - --- CreateIndex -CREATE UNIQUE INDEX "UnusualChange_classId_date_schoolTime_key" ON "UnusualChange"("classId", "date", "schoolTime"); - --- AddForeignKey -ALTER TABLE "SchoolClass" ADD CONSTRAINT "SchoolClass_grade_fkey" FOREIGN KEY ("grade") REFERENCES "SchoolGrade"("grade") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "Standard" ADD CONSTRAINT "Standard_classId_fkey" FOREIGN KEY ("classId") REFERENCES "SchoolClass"("id") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "AbstractTimetableUnit" ADD CONSTRAINT "AbstractTimetableUnit_grade_fkey" FOREIGN KEY ("grade") REFERENCES "SchoolGrade"("grade") ON DELETE RESTRICT ON UPDATE CASCADE; - --- AddForeignKey -ALTER TABLE "UnusualChange" ADD CONSTRAINT "UnusualChange_classId_fkey" FOREIGN KEY ("classId") REFERENCES "SchoolClass"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/src/prisma/migrations/20221104164713_init/migration.sql b/src/prisma/migrations/20221104164713_init/migration.sql @@ -0,0 +1,107 @@ +-- CreateEnum +CREATE TYPE "AbstractLessonName" AS ENUM ('Mon1', 'Mon2', 'Mon3', 'Mon4', 'Mon5', 'Mon6', 'Mon7', 'Tue1', 'Tue2', 'Tue3', 'Tue4', 'Tue5', 'Tue6', 'Tue7', 'Wed1', 'Wed2', 'Wed3', 'Wed4', 'Wed5', 'Wed6', 'Wed7', 'Thu1', 'Thu2', 'Thu3', 'Thu4', 'Thu5', 'Thu6', 'Fri1', 'Fri2', 'Fri3', 'Fri4', 'Fri5', 'Fri6', 'Fri7'); + +-- CreateTable +CREATE TABLE "SchoolGrade" ( + "grade" INTEGER NOT NULL, + + CONSTRAINT "SchoolGrade_pkey" PRIMARY KEY ("grade") +); + +-- CreateTable +CREATE TABLE "SchoolClass" ( + "id" INTEGER NOT NULL, + "class" INTEGER NOT NULL, + "grade" INTEGER NOT NULL, + + CONSTRAINT "SchoolClass_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Standard" ( + "classId" INTEGER NOT NULL, + "Mon1" TEXT[], + "Mon2" TEXT[], + "Mon3" TEXT[], + "Mon4" TEXT[], + "Mon5" TEXT[], + "Mon6" TEXT[], + "Mon7" TEXT[], + "Tue1" TEXT[], + "Tue2" TEXT[], + "Tue3" TEXT[], + "Tue4" TEXT[], + "Tue5" TEXT[], + "Tue6" TEXT[], + "Tue7" TEXT[], + "Wed1" TEXT[], + "Wed2" TEXT[], + "Wed3" TEXT[], + "Wed4" TEXT[], + "Wed5" TEXT[], + "Wed6" TEXT[], + "Wed7" TEXT[], + "Thu1" TEXT[], + "Thu2" TEXT[], + "Thu3" TEXT[], + "Thu4" TEXT[], + "Thu5" TEXT[], + "Thu6" TEXT[], + "Fri1" TEXT[], + "Fri2" TEXT[], + "Fri3" TEXT[], + "Fri4" TEXT[], + "Fri5" TEXT[], + "Fri6" TEXT[], + "Fri7" TEXT[], + + CONSTRAINT "Standard_pkey" PRIMARY KEY ("classId") +); + +-- CreateTable +CREATE TABLE "DayTimetable" ( + "id" SERIAL NOT NULL, + "grade" INTEGER NOT NULL, + "date" DATE NOT NULL, + "class1" "AbstractLessonName", + "class2" "AbstractLessonName", + "class3" "AbstractLessonName", + "class4" "AbstractLessonName", + "class5" "AbstractLessonName", + "class6" "AbstractLessonName", + "class7" "AbstractLessonName", + + CONSTRAINT "DayTimetable_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "UnusualChange" ( + "id" SERIAL NOT NULL, + "classId" INTEGER NOT NULL, + "date" DATE NOT NULL, + "schoolTime" INTEGER NOT NULL, + "lessonName" TEXT[], + + CONSTRAINT "UnusualChange_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "SchoolClass_grade_class_key" ON "SchoolClass"("grade", "class"); + +-- CreateIndex +CREATE UNIQUE INDEX "DayTimetable_grade_date_key" ON "DayTimetable"("grade", "date"); + +-- CreateIndex +CREATE UNIQUE INDEX "UnusualChange_classId_date_schoolTime_key" ON "UnusualChange"("classId", "date", "schoolTime"); + +-- AddForeignKey +ALTER TABLE "SchoolClass" ADD CONSTRAINT "SchoolClass_grade_fkey" FOREIGN KEY ("grade") REFERENCES "SchoolGrade"("grade") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Standard" ADD CONSTRAINT "Standard_classId_fkey" FOREIGN KEY ("classId") REFERENCES "SchoolClass"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "DayTimetable" ADD CONSTRAINT "DayTimetable_grade_fkey" FOREIGN KEY ("grade") REFERENCES "SchoolGrade"("grade") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "UnusualChange" ADD CONSTRAINT "UnusualChange_classId_fkey" FOREIGN KEY ("classId") REFERENCES "SchoolClass"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma @@ -11,9 +11,9 @@ datasource db { } model SchoolGrade { - grade Int @id - SchoolClass SchoolClass[] - AbstractTimetableUnit AbstractTimetableUnit[] + grade Int @id + SchoolClass SchoolClass[] + DayTimetable DayTimetable[] } model SchoolClass { @@ -66,15 +66,20 @@ model Standard { Fri7 String[] } -model AbstractTimetableUnit { - id Int @id @default(autoincrement()) - SchoolGrade SchoolGrade @relation(fields: [grade], references: [grade]) - grade Int - date DateTime @db.Date - schoolTime Int - abstractLessonName AbstractLessonName +model DayTimetable { + id Int @id @default(autoincrement()) + SchoolGrade SchoolGrade @relation(fields: [grade], references: [grade]) + grade Int + date DateTime @db.Date + class1 AbstractLessonName? + class2 AbstractLessonName? + class3 AbstractLessonName? + class4 AbstractLessonName? + class5 AbstractLessonName? + class6 AbstractLessonName? + class7 AbstractLessonName? - @@unique([grade, date, schoolTime]) + @@unique([grade, date]) } model UnusualChange {