Boost Azure Demo
This commit is contained in:
30
Backend/db/migrations/014_assignment_student_questions.sql
Normal file
30
Backend/db/migrations/014_assignment_student_questions.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
-- +goose Up
|
||||
|
||||
CREATE TABLE assignment_student_questions (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
assignment_id BIGINT NOT NULL,
|
||||
student_id BIGINT NOT NULL,
|
||||
question_id BIGINT NOT NULL REFERENCES questions(id) ON DELETE CASCADE,
|
||||
position INTEGER NOT NULL CHECK (position > 0),
|
||||
source_bucket TEXT NOT NULL CHECK (btrim(source_bucket) <> ''),
|
||||
source_topic question_topic,
|
||||
source_difficulty question_difficulty,
|
||||
generator_seed BIGINT,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
CONSTRAINT assignment_student_questions_assignment_student_fkey
|
||||
FOREIGN KEY (assignment_id, student_id)
|
||||
REFERENCES assignment_assignees(assignment_id, student_id)
|
||||
ON DELETE CASCADE,
|
||||
CONSTRAINT assignment_student_questions_assignment_student_question_key
|
||||
UNIQUE (assignment_id, student_id, question_id),
|
||||
CONSTRAINT assignment_student_questions_assignment_student_position_key
|
||||
UNIQUE (assignment_id, student_id, position)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_assignment_student_questions_assignment_student
|
||||
ON assignment_student_questions (assignment_id, student_id);
|
||||
|
||||
-- +goose Down
|
||||
|
||||
DROP INDEX IF EXISTS idx_assignment_student_questions_assignment_student;
|
||||
DROP TABLE IF EXISTS assignment_student_questions;
|
||||
Reference in New Issue
Block a user