Sync LMS backend source
This commit is contained in:
@@ -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;
|
||||
Reference in New Issue
Block a user