-- 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);