18 lines
1001 B
SQL
18 lines
1001 B
SQL
-- 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);
|