32 lines
1.2 KiB
SQL
32 lines
1.2 KiB
SQL
CREATE TABLE "student_custom_modules" (
|
|
"id" UUID NOT NULL,
|
|
"user_id" UUID NOT NULL,
|
|
"course_id" UUID NOT NULL,
|
|
"week" INTEGER NOT NULL,
|
|
"sort_order" INTEGER NOT NULL,
|
|
"category" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"folder_name" TEXT NOT NULL,
|
|
"docker_image" TEXT,
|
|
"package_name" TEXT NOT NULL,
|
|
"launch_file" TEXT NOT NULL,
|
|
"created_at" TIMESTAMPTZ(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMPTZ(3) NOT NULL,
|
|
|
|
CONSTRAINT "student_custom_modules_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE UNIQUE INDEX "student_custom_modules_user_id_course_id_week_folder_name_key"
|
|
ON "student_custom_modules"("user_id", "course_id", "week", "folder_name");
|
|
|
|
CREATE INDEX "student_custom_modules_user_id_course_id_week_sort_order_idx"
|
|
ON "student_custom_modules"("user_id", "course_id", "week", "sort_order");
|
|
|
|
ALTER TABLE "student_custom_modules"
|
|
ADD CONSTRAINT "student_custom_modules_user_id_fkey"
|
|
FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
ALTER TABLE "student_custom_modules"
|
|
ADD CONSTRAINT "student_custom_modules_course_id_fkey"
|
|
FOREIGN KEY ("course_id") REFERENCES "courses"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|