fix(db): preserve foreign key errors

This commit is contained in:
Miguel Palhas
2026-08-22 21:26:56 +01:00
parent 47e1375434
commit ca58864f96
+4 -4
View File
@@ -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;