finish world initialization, set up init on startup and on shutdown, move all models to main directory
This commit is contained in:
@@ -48,12 +48,14 @@ CREATE TABLE IF NOT EXISTS game_to_systems (
|
||||
FOREIGN KEY (system_id) REFERENCES system(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_game_to_systems_system_id ON game_to_systems(system_id);
|
||||
|
||||
CREATE TRIGGER tr_delete_game_to_systems_system
|
||||
AFTER DELETE ON game_to_systems
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM system
|
||||
WHERE id = OLD.id
|
||||
WHERE id = OLD.system_id
|
||||
AND NOT EXISTS (SELECT 1 FROM game_to_systems WHERE system_id = OLD.system_id);
|
||||
END;
|
||||
|
||||
@@ -88,17 +90,38 @@ CREATE TABLE IF NOT EXISTS game_to_module (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_game_to_module_module_id ON game_to_module(module_id);
|
||||
|
||||
CREATE TRIGGER tr_delete_game_to_module_module
|
||||
AFTER DELETE ON game_to_module
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM module
|
||||
WHERE id = OLD.id
|
||||
WHERE id = OLD.module_id
|
||||
AND NOT EXISTS (SELECT 1 FROM game_to_module WHERE module_id = OLD.module_id);
|
||||
END;
|
||||
|
||||
ALTER TABLE package_warnings ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
ALTER TABLE pack ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS game_to_pack (
|
||||
game_id INTEGER,
|
||||
pack_id TEXT,
|
||||
|
||||
PRIMARY KEY (game_id, pack_id),
|
||||
FOREIGN KEY (pack_id) REFERENCES pack(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_game_to_pack_pack_id ON game_to_pack(pack_id);
|
||||
|
||||
CREATE TRIGGER tr_delete_game_to_pack_pack
|
||||
AFTER DELETE ON game_to_pack
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM pack
|
||||
WHERE id = OLD.pack_id
|
||||
AND NOT EXISTS (SELECT 1 FROM game_to_pack WHERE pack_id = OLD.pack_id);
|
||||
END;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id TEXT PRIMARY KEY,
|
||||
@@ -113,6 +136,9 @@ CREATE TABLE IF NOT EXISTS message (
|
||||
flavor VARCHAR(128) NOT NULL,
|
||||
sound VARCHAR(128) NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -170,6 +196,9 @@ CREATE TABLE IF NOT EXISTS combat (
|
||||
sort INTEGER NOT NULL,
|
||||
active INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -199,6 +228,9 @@ CREATE TABLE IF NOT EXISTS combatant (
|
||||
hidden BOOLEAN NOT NULL,
|
||||
defeated BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
combat_id TEXT,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -220,6 +252,9 @@ CREATE TABLE IF NOT EXISTS card_deck (
|
||||
sort INTEGER NOT NULL,
|
||||
display_count BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -253,6 +288,9 @@ CREATE TABLE IF NOT EXISTS card (
|
||||
sort INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
card_deck_id TEXT,
|
||||
FOREIGN KEY (card_deck_id) REFERENCES card_deck(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -291,6 +329,9 @@ CREATE TABLE IF NOT EXISTS user (
|
||||
pronouns VARCHAR(128) NOT NULL,
|
||||
role INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -320,6 +361,9 @@ CREATE TABLE IF NOT EXISTS macro (
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -339,6 +383,9 @@ CREATE TABLE IF NOT EXISTS world_folder (
|
||||
color VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -355,6 +402,9 @@ CREATE TABLE IF NOT EXISTS item (
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -369,6 +419,9 @@ CREATE TABLE IF NOT EXISTS setting (
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -382,6 +435,9 @@ CREATE TABLE IF NOT EXISTS journal (
|
||||
name VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -394,6 +450,9 @@ CREATE TABLE IF NOT EXISTS journal_page (
|
||||
src VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
journal_id TEXT,
|
||||
FOREIGN KEY (journal_id) REFERENCES journal(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -430,7 +489,6 @@ CREATE TABLE IF NOT EXISTS journal_page_video (
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN journal_page_id TEXT REFERENCES journal_page(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_journal_page_id ON stats(journal_page_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN journal_page_id TEXT REFERENCES journal_page(id) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE ownership_string ADD COLUMN journal_id TEXT REFERENCES journal(id) ON DELETE CASCADE;
|
||||
@@ -447,6 +505,9 @@ CREATE TABLE IF NOT EXISTS table_ (
|
||||
replacement BOOLEAN NOT NULL,
|
||||
display_roll BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -465,6 +526,9 @@ CREATE TABLE IF NOT EXISTS table_result (
|
||||
weight INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
table_id TEXT,
|
||||
FOREIGN KEY (table_id) REFERENCES table_(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -495,6 +559,9 @@ CREATE TABLE IF NOT EXISTS playlist (
|
||||
sort INTEGER NOT NULL,
|
||||
playing BOOLEAN NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -517,6 +584,9 @@ CREATE TABLE IF NOT EXISTS sound (
|
||||
volume REAL NOT NULL,
|
||||
paused_time REAL NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
playlist_id TEXT,
|
||||
FOREIGN KEY (playlist_id) REFERENCES playlist(id) ON DELETE CASCADE
|
||||
);
|
||||
@@ -530,6 +600,9 @@ CREATE TABLE IF NOT EXISTS actor (
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user