Files
lms-be/prisma/migrations/20260609174000_course_scoped_enrollments/migration.sql
T
2026-07-07 16:09:12 +09:00

39 lines
1.3 KiB
SQL

ALTER TABLE "student_enrollments"
ADD COLUMN "course_id" UUID;
UPDATE "student_enrollments" enrollment
SET "course_id" = course."id"
FROM "courses" course
WHERE course."slug" = 'futuredrive-autonomy-basic'
AND course."is_active" = true
AND enrollment."course_id" IS NULL;
ALTER TABLE "student_enrollments"
ALTER COLUMN "course_id" SET NOT NULL;
ALTER TABLE "student_enrollments"
ADD CONSTRAINT "student_enrollments_course_id_fkey"
FOREIGN KEY ("course_id")
REFERENCES "courses"("id")
ON DELETE CASCADE
ON UPDATE CASCADE;
DROP INDEX IF EXISTS "student_enrollments_user_id_organization_name_key";
CREATE UNIQUE INDEX "student_enrollments_user_id_course_id_key"
ON "student_enrollments"("user_id", "course_id");
CREATE INDEX "student_enrollments_course_id_status_idx"
ON "student_enrollments"("course_id", "status");
DROP INDEX IF EXISTS "instructor_curriculum_settings_organization_default_key";
DROP INDEX IF EXISTS "instructor_curriculum_settings_organization_group_key";
CREATE UNIQUE INDEX "instructor_curriculum_settings_course_default_key"
ON "instructor_curriculum_settings"("organization_name", "course_id")
WHERE "group_id" IS NULL;
CREATE UNIQUE INDEX "instructor_curriculum_settings_course_group_key"
ON "instructor_curriculum_settings"("organization_name", "course_id", "group_id")
WHERE "group_id" IS NOT NULL;