fix: Add CASCADE for event types on deletion.

This commit is contained in:
2025-06-11 19:35:39 +10:00
parent c3ed48e918
commit e1a1f7d4fe
2 changed files with 10 additions and 10 deletions

View File

@@ -231,14 +231,14 @@ CREATE TABLE plain_events (
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
event_type EventType NOT NULL DEFAULT 'plain' CHECK (event_type = 'plain'), event_type EventType NOT NULL DEFAULT 'plain' CHECK (event_type = 'plain'),
message TEXT NOT NULL, message TEXT NOT NULL,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE raid_events ( CREATE TABLE raid_events (
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
event_type EventType NOT NULL DEFAULT 'raid' CHECK (event_type = 'raid'), event_type EventType NOT NULL DEFAULT 'raid' CHECK (event_type = 'raid'),
visitor_count INTEGER NOT NULL, visitor_count INTEGER NOT NULL,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE cheer_events ( CREATE TABLE cheer_events (
@@ -247,7 +247,7 @@ CREATE TABLE cheer_events (
amount INTEGER NOT NULL, amount INTEGER NOT NULL,
cheer_type TEXT, cheer_type TEXT,
message TEXT, message TEXT,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE subscriber_events ( CREATE TABLE subscriber_events (
@@ -256,7 +256,7 @@ CREATE TABLE subscriber_events (
subscribed_length INTEGER NOT NULL, subscribed_length INTEGER NOT NULL,
tier INTEGER NOT NULL, tier INTEGER NOT NULL,
message TEXT, message TEXT,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );

View File

@@ -182,15 +182,15 @@ class DataModel(Registry):
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
event_type EventType NOT NULL DEFAULT 'plain' CHECK (event_type = 'plain'), event_type EventType NOT NULL DEFAULT 'plain' CHECK (event_type = 'plain'),
message TEXT NOT NULL, message TEXT NOT NULL,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE raid_events ( CREATE TABLE raid_events (
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
event_type EventType NOT NULL DEFAULT 'raid' CHECK (event_type = 'raid'), event_type EventType NOT NULL DEFAULT 'raid' CHECK (event_type = 'raid'),
visitor_count INTEGER NOT NULL, visitor_count INTEGER NOT NULL,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE cheer_events ( CREATE TABLE cheer_events (
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
@@ -198,8 +198,8 @@ class DataModel(Registry):
amount INTEGER NOT NULL, amount INTEGER NOT NULL,
cheer_type TEXT, cheer_type TEXT,
message TEXT, message TEXT,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE TABLE subscriber_events ( CREATE TABLE subscriber_events (
event_id integer PRIMARY KEY, event_id integer PRIMARY KEY,
@@ -207,7 +207,7 @@ class DataModel(Registry):
subscribed_length INTEGER NOT NULL, subscribed_length INTEGER NOT NULL,
tier INTEGER NOT NULL, tier INTEGER NOT NULL,
message TEXT, message TEXT,
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type) ON DELETE CASCADE
); );
CREATE VIEW event_details AS CREATE VIEW event_details AS