diff options
Diffstat (limited to '')
| -rw-r--r-- | setup.sql | 11 |
1 files changed, 5 insertions, 6 deletions
@@ -8,20 +8,19 @@ CREATE TABLE images ( ); CREATE TABLE pixels ( - id INTEGER PRIMARY KEY AUTOINCREMENT, + id INTEGER PRIMARY KEY, image_id TEXT NOT NULL, x INTEGER NOT NULL, y INTEGER NOT NULL, r INTEGER NOT NULL CHECK(r >= 0 AND r <= 255), g INTEGER NOT NULL CHECK(g >= 0 AND g <= 255), b INTEGER NOT NULL CHECK(b >= 0 AND b <= 255), - FOREIGN KEY(image_id) REFERENCES images(id), + -- FOREIGN KEY(image_id) REFERENCES images(id) ON DELETE CASCADE, UNIQUE(image_id, x, y) ); -CREATE TRIGGER delete_pixels_when_image_deleted -AFTER DELETE ON images -WHEN (SELECT COUNT(*) FROM images WHERE id = OLD.id) = 0 +CREATE TRIGGER delete_pixels_when_image_reinserted_because_i_said_so_and_to_make_rerunning_easier +BEFORE INSERT ON images BEGIN - DELETE FROM pixels WHERE image_id = OLD.id; + DELETE FROM pixels WHERE image_id = NEW.id; END; |
