Boost Azure Demo
This commit is contained in:
66
Backend/db/migrations/007_review_contract.sql
Normal file
66
Backend/db/migrations/007_review_contract.sql
Normal file
@@ -0,0 +1,66 @@
|
||||
-- +goose Up
|
||||
|
||||
CREATE TYPE assignment_pass_status AS ENUM ('pending', 'pass', 'no_pass');
|
||||
|
||||
ALTER TABLE student_answers
|
||||
ADD COLUMN review_needs_attention BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
ADD COLUMN review_issue_reason TEXT,
|
||||
ADD COLUMN review_correctness_score NUMERIC(4,3),
|
||||
ADD COLUMN review_understanding_score NUMERIC(4,3),
|
||||
ADD COLUMN review_question_score NUMERIC(4,3),
|
||||
ADD COLUMN review_confidence NUMERIC(4,3),
|
||||
ADD COLUMN review_tags TEXT[] NOT NULL DEFAULT ARRAY[]::TEXT[],
|
||||
ADD CONSTRAINT student_answers_review_correctness_score_range_check
|
||||
CHECK (review_correctness_score IS NULL OR (review_correctness_score >= 0 AND review_correctness_score <= 1)),
|
||||
ADD CONSTRAINT student_answers_review_understanding_score_range_check
|
||||
CHECK (review_understanding_score IS NULL OR (review_understanding_score >= 0 AND review_understanding_score <= 1)),
|
||||
ADD CONSTRAINT student_answers_review_question_score_range_check
|
||||
CHECK (review_question_score IS NULL OR (review_question_score >= 0 AND review_question_score <= 1)),
|
||||
ADD CONSTRAINT student_answers_review_confidence_range_check
|
||||
CHECK (review_confidence IS NULL OR (review_confidence >= 0 AND review_confidence <= 1));
|
||||
|
||||
UPDATE student_answers
|
||||
SET review_correctness_score = CASE
|
||||
WHEN is_correct IS TRUE THEN 1.000
|
||||
WHEN is_correct IS FALSE THEN 0.000
|
||||
ELSE NULL
|
||||
END,
|
||||
review_question_score = CASE
|
||||
WHEN is_correct IS TRUE THEN 1.000
|
||||
WHEN is_correct IS FALSE THEN 0.000
|
||||
ELSE NULL
|
||||
END
|
||||
WHERE is_correct IS NOT NULL;
|
||||
|
||||
ALTER TABLE assignment_assignees
|
||||
ADD COLUMN overall_score NUMERIC(5,2),
|
||||
ADD COLUMN pass_threshold NUMERIC(5,2) NOT NULL DEFAULT 8.00,
|
||||
ADD COLUMN pass_status assignment_pass_status NOT NULL DEFAULT 'pending',
|
||||
ADD CONSTRAINT assignment_assignees_overall_score_range_check
|
||||
CHECK (overall_score IS NULL OR (overall_score >= 0 AND overall_score <= 10)),
|
||||
ADD CONSTRAINT assignment_assignees_pass_threshold_range_check
|
||||
CHECK (pass_threshold >= 0 AND pass_threshold <= 10);
|
||||
|
||||
-- +goose Down
|
||||
|
||||
ALTER TABLE assignment_assignees
|
||||
DROP CONSTRAINT IF EXISTS assignment_assignees_pass_threshold_range_check,
|
||||
DROP CONSTRAINT IF EXISTS assignment_assignees_overall_score_range_check,
|
||||
DROP COLUMN IF EXISTS pass_status,
|
||||
DROP COLUMN IF EXISTS pass_threshold,
|
||||
DROP COLUMN IF EXISTS overall_score;
|
||||
|
||||
ALTER TABLE student_answers
|
||||
DROP CONSTRAINT IF EXISTS student_answers_review_confidence_range_check,
|
||||
DROP CONSTRAINT IF EXISTS student_answers_review_question_score_range_check,
|
||||
DROP CONSTRAINT IF EXISTS student_answers_review_understanding_score_range_check,
|
||||
DROP CONSTRAINT IF EXISTS student_answers_review_correctness_score_range_check,
|
||||
DROP COLUMN IF EXISTS review_tags,
|
||||
DROP COLUMN IF EXISTS review_confidence,
|
||||
DROP COLUMN IF EXISTS review_question_score,
|
||||
DROP COLUMN IF EXISTS review_understanding_score,
|
||||
DROP COLUMN IF EXISTS review_correctness_score,
|
||||
DROP COLUMN IF EXISTS review_issue_reason,
|
||||
DROP COLUMN IF EXISTS review_needs_attention;
|
||||
|
||||
DROP TYPE IF EXISTS assignment_pass_status;
|
||||
Reference in New Issue
Block a user