Yimaru-BackEnd/db/migrations/000007_personas_and_practice_enhancements.up.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);