19 lines
890 B
SQL
19 lines
890 B
SQL
-- Junction table to link users (as personas) to a question_set (practice)
|
|
CREATE TABLE question_set_personas (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
question_set_id BIGINT NOT NULL REFERENCES question_sets(id) ON DELETE CASCADE,
|
|
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
display_order INT DEFAULT 0,
|
|
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
UNIQUE(question_set_id, user_id)
|
|
);
|
|
|
|
-- Add video context to question_sets for practice-video linking
|
|
ALTER TABLE question_sets
|
|
ADD COLUMN sub_course_video_id BIGINT REFERENCES sub_course_videos(id) ON DELETE SET NULL;
|
|
|
|
-- Indexes
|
|
CREATE INDEX idx_question_set_personas_question_set_id ON question_set_personas(question_set_id);
|
|
CREATE INDEX idx_question_set_personas_user_id ON question_set_personas(user_id);
|
|
CREATE INDEX idx_question_sets_sub_course_video_id ON question_sets(sub_course_video_id);
|