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,29 @@
CREATE TABLE "course_week_platforms" (
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
"course_id" UUID NOT NULL,
"week" INTEGER NOT NULL,
"platform_id" UUID NOT NULL,
"enabled" BOOLEAN NOT NULL DEFAULT true,
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "course_week_platforms_pkey" PRIMARY KEY ("id")
);
CREATE UNIQUE INDEX "course_week_platforms_course_id_week_platform_id_key" ON "course_week_platforms"("course_id", "week", "platform_id");
CREATE INDEX "course_week_platforms_course_id_week_idx" ON "course_week_platforms"("course_id", "week");
CREATE INDEX "course_week_platforms_platform_id_idx" ON "course_week_platforms"("platform_id");
ALTER TABLE "course_week_platforms"
ADD CONSTRAINT "course_week_platforms_course_id_fkey"
FOREIGN KEY ("course_id") REFERENCES "courses"("id") ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE "course_week_platforms"
ADD CONSTRAINT "course_week_platforms_platform_id_fkey"
FOREIGN KEY ("platform_id") REFERENCES "platforms"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
INSERT INTO "course_week_platforms" ("course_id", "week", "platform_id", "enabled")
SELECT cw."course_id", cw."week", cp."platform_id", true
FROM "course_weeks" cw
JOIN "course_platforms" cp ON cp."course_id" = cw."course_id"
ON CONFLICT ("course_id", "week", "platform_id") DO NOTHING;