28 lines
767 B
SQL
28 lines
767 B
SQL
-- Add categorization column
|
|
ALTER TABLE feeds ADD COLUMN categorization JSON NOT NULL DEFAULT '[]';
|
|
|
|
-- Add CHECK constraint
|
|
CREATE TRIGGER validate_feed_categorization
|
|
AFTER INSERT ON feeds
|
|
BEGIN
|
|
SELECT CASE
|
|
WHEN NOT (
|
|
json_valid(NEW.categorization)
|
|
AND json_type(NEW.categorization) = 'array'
|
|
)
|
|
THEN RAISE(ROLLBACK, 'categorization must be an array of strings')
|
|
END;
|
|
END;
|
|
|
|
CREATE TRIGGER validate_feed_categorization_update
|
|
AFTER UPDATE OF categorization ON feeds
|
|
BEGIN
|
|
SELECT CASE
|
|
WHEN NOT (
|
|
json_valid(NEW.categorization)
|
|
AND json_type(NEW.categorization) = 'array'
|
|
)
|
|
THEN RAISE(ROLLBACK, 'categorization must be an array of strings')
|
|
END;
|
|
END;
|