Sync LMS backend source

This commit is contained in:
2026-07-07 16:09:12 +09:00
commit 5a2ecd0fea
126 changed files with 22959 additions and 0 deletions
@@ -0,0 +1,28 @@
CREATE TABLE IF NOT EXISTS "course_student_week_progress" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"course_id" UUID NOT NULL,
"user_id" UUID NOT NULL,
"week" INTEGER NOT NULL,
"submitted_at" TIMESTAMPTZ(3),
"commit_count" INTEGER NOT NULL DEFAULT 0,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "course_student_week_progress_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX IF NOT EXISTS "course_student_week_progress_course_user_week_key"
ON "course_student_week_progress"("course_id", "user_id", "week");
CREATE INDEX IF NOT EXISTS "course_student_week_progress_user_idx"
ON "course_student_week_progress"("user_id");
ALTER TABLE "course_student_week_progress"
ADD CONSTRAINT "course_student_week_progress_course_id_fkey"
FOREIGN KEY ("course_id") REFERENCES "courses"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "course_student_week_progress"
ADD CONSTRAINT "course_student_week_progress_user_id_fkey"
FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
COMMENT ON TABLE "course_student_week_progress" IS '학생별 주차 학습 및 제출 요약.';
COMMENT ON COLUMN "course_student_week_progress"."submitted_at" IS '해당 주차 소스 제출 완료 시각.';