This commit is contained in:
2026-08-03 14:03:00 +09:00
parent 5e7cffa901
commit b7e910dcf7
24 changed files with 1081 additions and 111 deletions
@@ -0,0 +1,27 @@
CREATE TABLE "student_saved_maps" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"user_id" UUID NOT NULL,
"course_id" UUID NOT NULL,
"week" INTEGER NOT NULL,
"name" TEXT NOT NULL,
"source_map_key" TEXT NOT NULL,
"world_file" TEXT NOT NULL,
"viewer_model" TEXT NOT NULL,
"yaml_path" TEXT NOT NULL,
"pgm_path" TEXT NOT NULL,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(3) NOT NULL,
CONSTRAINT "student_saved_maps_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "student_saved_maps_user_id_course_id_week_yaml_path_key"
ON "student_saved_maps"("user_id", "course_id", "week", "yaml_path");
CREATE INDEX "student_saved_maps_user_id_course_id_week_created_at_idx"
ON "student_saved_maps"("user_id", "course_id", "week", "created_at");
ALTER TABLE "student_saved_maps"
ADD CONSTRAINT "student_saved_maps_user_id_fkey"
FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "student_saved_maps"
ADD CONSTRAINT "student_saved_maps_course_id_fkey"
FOREIGN KEY ("course_id") REFERENCES "courses"("id") ON DELETE CASCADE ON UPDATE CASCADE;