12 lines
503 B
SQL
12 lines
503 B
SQL
ALTER TABLE items ADD COLUMN min_grade SMALLINT;
|
|
ALTER TABLE items ADD COLUMN max_grade SMALLINT;
|
|
|
|
-- Backfill any existing shop rows to grade 1-1 (a normal single-grade item)
|
|
-- before the constraint below starts requiring it.
|
|
UPDATE items SET min_grade = 1, max_grade = 1 WHERE source = 'shop';
|
|
|
|
ALTER TABLE items ADD CONSTRAINT grade_matches_source CHECK (
|
|
(source = 'shop' AND min_grade >= 1 AND max_grade >= min_grade)
|
|
OR (source = 'neutral' AND min_grade IS NULL AND max_grade IS NULL)
|
|
);
|