fix(db): preserve foreign key errors
This commit is contained in:
@@ -16,28 +16,28 @@ CREATE INDEX series_root ON series (root_id);
|
||||
|
||||
CREATE TRIGGER movies_require_movie_root
|
||||
BEFORE INSERT ON movies
|
||||
WHEN NOT EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind = 'movie')
|
||||
WHEN EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind != 'movie')
|
||||
BEGIN
|
||||
SELECT RAISE(ABORT, 'movies require a movie root');
|
||||
END;
|
||||
|
||||
CREATE TRIGGER movies_require_movie_root_on_update
|
||||
BEFORE UPDATE OF root_id ON movies
|
||||
WHEN NOT EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind = 'movie')
|
||||
WHEN EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind != 'movie')
|
||||
BEGIN
|
||||
SELECT RAISE(ABORT, 'movies require a movie root');
|
||||
END;
|
||||
|
||||
CREATE TRIGGER series_require_tv_root
|
||||
BEFORE INSERT ON series
|
||||
WHEN NOT EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind = 'tv')
|
||||
WHEN EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind != 'tv')
|
||||
BEGIN
|
||||
SELECT RAISE(ABORT, 'series require a TV root');
|
||||
END;
|
||||
|
||||
CREATE TRIGGER series_require_tv_root_on_update
|
||||
BEFORE UPDATE OF root_id ON series
|
||||
WHEN NOT EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind = 'tv')
|
||||
WHEN EXISTS (SELECT 1 FROM roots WHERE id = NEW.root_id AND kind != 'tv')
|
||||
BEGIN
|
||||
SELECT RAISE(ABORT, 'series require a TV root');
|
||||
END;
|
||||
|
||||
Reference in New Issue
Block a user