-- Exam-prep practices: one row per practice, attached to an exam-prep lesson only; reuses public.question_sets / questions. CREATE TABLE exam_prep.lesson_practices ( id BIGSERIAL PRIMARY KEY, unit_module_lesson_id BIGINT NOT NULL REFERENCES exam_prep.unit_module_lessons (id) ON DELETE CASCADE, title VARCHAR(255) NOT NULL, story_description TEXT, story_image TEXT, persona_id BIGINT REFERENCES users (id) ON DELETE SET NULL, question_set_id BIGINT NOT NULL REFERENCES question_sets (id) ON DELETE RESTRICT, quick_tips TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ ); CREATE INDEX idx_exam_prep_lesson_practices_lesson_id ON exam_prep.lesson_practices (unit_module_lesson_id); CREATE INDEX idx_exam_prep_lesson_practices_question_set_id ON exam_prep.lesson_practices (question_set_id); CREATE INDEX idx_exam_prep_lesson_practices_lesson_created ON exam_prep.lesson_practices (unit_module_lesson_id, created_at DESC);