22 lines
935 B
SQL
22 lines
935 B
SQL
CREATE TABLE "course_week_references" (
|
|
"id" UUID NOT NULL DEFAULT gen_random_uuid(),
|
|
"week_id" UUID NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"original_file_name" TEXT NOT NULL,
|
|
"stored_file_name" TEXT NOT NULL,
|
|
"content_type" TEXT,
|
|
"file_size_bytes" INTEGER NOT NULL DEFAULT 0,
|
|
"sort_order" 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_week_references_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
CREATE INDEX "course_week_references_week_id_idx" ON "course_week_references"("week_id");
|
|
CREATE UNIQUE INDEX "course_week_references_week_id_stored_file_name_key" ON "course_week_references"("week_id", "stored_file_name");
|
|
|
|
ALTER TABLE "course_week_references"
|
|
ADD CONSTRAINT "course_week_references_week_id_fkey"
|
|
FOREIGN KEY ("week_id") REFERENCES "course_weeks"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|