16 lines
669 B
SQL
16 lines
669 B
SQL
-- Modules under an exam-prep unit (table name unit_modules avoids sqlc/LMS collision with public.modules).
|
|
CREATE TABLE exam_prep.unit_modules (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
unit_id BIGINT NOT NULL REFERENCES exam_prep.units (id) ON DELETE CASCADE,
|
|
name VARCHAR(255) NOT NULL,
|
|
description TEXT,
|
|
thumbnail TEXT,
|
|
icon TEXT,
|
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMPTZ
|
|
);
|
|
|
|
CREATE INDEX idx_exam_prep_unit_modules_unit_id ON exam_prep.unit_modules (unit_id);
|
|
CREATE INDEX idx_exam_prep_unit_modules_unit_sort ON exam_prep.unit_modules (unit_id, sort_order, id);
|