28 lines
767 B
MySQL
28 lines
767 B
MySQL
|
-- 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;
|