15 lines
484 B
SQL
15 lines
484 B
SQL
CREATE TYPE item_source AS ENUM ('shop', 'neutral');
|
|
|
|
CREATE TABLE items (
|
|
id SERIAL PRIMARY KEY,
|
|
name TEXT NOT NULL UNIQUE,
|
|
source item_source NOT NULL,
|
|
min_tier SMALLINT,
|
|
max_tier SMALLINT,
|
|
image_url TEXT NOT NULL,
|
|
CONSTRAINT neutral_tier_matches_source CHECK (
|
|
(source = 'neutral' AND min_tier BETWEEN 1 AND 5 AND max_tier BETWEEN 1 AND 5 AND min_tier <= max_tier)
|
|
OR (source = 'shop' AND min_tier IS NULL AND max_tier IS NULL)
|
|
)
|
|
);
|