finish world initialization, set up init on startup and on shutdown, move all models to main directory
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
DROP TRIGGER IF EXISTS tr_delete_package_warnings_to_data_package_warnings_data;
|
||||
DROP TRIGGER IF EXISTS tr_delete_pack_to_index_index;
|
||||
DROP TABLE IF EXISTS folder;
|
||||
DROP TABLE IF EXISTS pack;
|
||||
DROP TABLE IF EXISTS language;
|
||||
@@ -18,13 +20,14 @@ DROP TABLE IF EXISTS grid;
|
||||
DROP TABLE IF EXISTS system;
|
||||
DROP TABLE IF EXISTS package_warnings_data_error;
|
||||
DROP TABLE IF EXISTS package_warnings_data_warning;
|
||||
DROP TABLE IF EXISTS package_warnings_to_data;
|
||||
DROP TABLE IF EXISTS package_warnings_data;
|
||||
DROP TRIGGER IF EXISTS tr_delete_package_warnings_to_data_package_warnings_data;
|
||||
DROP TABLE IF EXISTS package_warnings;
|
||||
DROP TABLE IF EXISTS news;
|
||||
DROP TABLE IF EXISTS folder_packs;
|
||||
DROP TABLE IF EXISTS folder;
|
||||
DROP TABLE IF EXISTS pack_folder;
|
||||
DROP TABLE IF EXISTS pack_to_index;
|
||||
DROP TABLE IF EXISTS index_;
|
||||
DROP TABLE IF EXISTS ownership;
|
||||
DROP TABLE IF EXISTS relationships_data;
|
||||
|
||||
@@ -301,9 +301,8 @@ CREATE TABLE IF NOT EXISTS language (
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pack (
|
||||
id INTEGER PRIMARY KEY,
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
label VARCHAR(128) NOT NULL,
|
||||
banner VARCHAR(128) NOT NULL,
|
||||
@@ -324,7 +323,7 @@ CREATE TABLE IF NOT EXISTS ownership (
|
||||
trusted VARCHAR(128) NOT NULL,
|
||||
assistant VARCHAR(128) NOT NULL,
|
||||
|
||||
pack_id INTEGER UNIQUE,
|
||||
pack_id TEXT,
|
||||
FOREIGN KEY (pack_id) REFERENCES pack(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
@@ -334,12 +333,29 @@ CREATE TABLE IF NOT EXISTS index_ (
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL
|
||||
);
|
||||
|
||||
pack_id INTEGER,
|
||||
CREATE TABLE IF NOT EXISTS pack_to_index (
|
||||
pack_id TEXT,
|
||||
index_id TEXT,
|
||||
|
||||
PRIMARY KEY (pack_id, index_id),
|
||||
FOREIGN KEY (index_id) REFERENCES index_(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (pack_id) REFERENCES pack(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX idx_pack_to_index_index_id ON pack_to_index(index_id);
|
||||
|
||||
CREATE TRIGGER tr_delete_pack_to_index_index
|
||||
AFTER DELETE ON pack_to_index
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM index_
|
||||
WHERE id = OLD.index_id
|
||||
AND NOT EXISTS (SELECT 1 FROM pack_to_index WHERE index_id = OLD.index_id);
|
||||
END;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pack_folder (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -349,7 +365,7 @@ CREATE TABLE IF NOT EXISTS pack_folder (
|
||||
type VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
pack_id INTEGER,
|
||||
pack_id TEXT,
|
||||
FOREIGN KEY (pack_id) REFERENCES pack(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
@@ -406,15 +422,6 @@ CREATE TABLE IF NOT EXISTS package_warnings_to_data (
|
||||
FOREIGN KEY (package_warnings_data_id) REFERENCES package_warnings_data(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TRIGGER tr_delete_package_warnings_to_data_package_warnings_data
|
||||
AFTER DELETE ON package_warnings_to_data
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM package_warnings_data
|
||||
WHERE id = OLD.id
|
||||
AND NOT EXISTS (SELECT 1 FROM package_warnings_to_data WHERE package_warnings_data_id = OLD.package_warnings_data_id);
|
||||
END;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS package_warnings_data (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -423,6 +430,17 @@ CREATE TABLE IF NOT EXISTS package_warnings_data (
|
||||
reinstallable BOOLEAN NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX idx_package_warnings_to_data_package_warnings_data_id ON package_warnings_to_data(package_warnings_data_id);
|
||||
|
||||
CREATE TRIGGER tr_delete_package_warnings_to_data_package_warnings_data
|
||||
AFTER DELETE ON package_warnings_to_data
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM package_warnings_data
|
||||
WHERE id = OLD.package_warnings_data_id
|
||||
AND NOT EXISTS (SELECT 1 FROM package_warnings_to_data WHERE package_warnings_data_id = OLD.package_warnings_data_id);
|
||||
END;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS package_warnings_data_warning (
|
||||
id INTEGER PRIMARY KEY,
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
DROP TRIGGER IF EXISTS tr_delete_package_warnings_to_data_package_warnings_data;
|
||||
DROP TRIGGER IF EXISTS tr_delete_game_to_systems_system;
|
||||
DROP TRIGGER IF EXISTS tr_delete_game_to_module_module;
|
||||
DROP TRIGGER IF EXISTS tr_delete_game_to_pack_pack;
|
||||
DROP TRIGGER IF EXISTS tr_delete_game_to_module_module;
|
||||
DROP TRIGGER IF EXISTS tr_delete_pack_to_index_index;
|
||||
DROP TABLE IF EXISTS token_turn_maker;
|
||||
DROP TABLE IF EXISTS token_occludable;
|
||||
DROP TABLE IF EXISTS token_light_darkness;
|
||||
@@ -46,9 +48,8 @@ DROP TABLE IF EXISTS stats;
|
||||
DROP TABLE IF EXISTS message;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pack_new (
|
||||
id INTEGER PRIMARY KEY,
|
||||
id VARCHAR(128) PRIMARY KEY,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
label VARCHAR(128) NOT NULL,
|
||||
banner VARCHAR(128) NOT NULL,
|
||||
@@ -63,8 +64,8 @@ CREATE TABLE IF NOT EXISTS pack_new (
|
||||
);
|
||||
ALTER TABLE pack_new ADD COLUMN system_id TEXT REFERENCES system(id) ON DELETE CASCADE;
|
||||
ALTER TABLE pack_new ADD COLUMN world_id TEXT REFERENCES world(id) ON DELETE CASCADE;
|
||||
INSERT INTO pack_new (id, key_, name, label, banner, path, type, system, package_type, package_name, module_id, system_id, world_id)
|
||||
SELECT id, key_, name, label, banner, path, type, system, package_type, package_name, module_id, system_id, world_id FROM pack;
|
||||
INSERT INTO pack_new (id, name, label, banner, path, type, system, package_type, package_name, module_id, system_id, world_id)
|
||||
SELECT id, name, label, banner, path, type, system, package_type, package_name, module_id, system_id, world_id FROM pack;
|
||||
DROP TABLE IF EXISTS pack;
|
||||
ALTER TABLE pack_new RENAME TO pack;
|
||||
|
||||
@@ -81,6 +82,8 @@ SELECT id, key_, setup_id FROM package_warnings;
|
||||
DROP TABLE IF EXISTS package_warnings;
|
||||
ALTER TABLE package_warnings_new RENAME TO package_warnings;
|
||||
|
||||
DROP TABLE IF EXISTS game_to_pack;
|
||||
DROP TABLE IF EXISTS game_to_module;
|
||||
DROP TABLE IF EXISTS active_users;
|
||||
DROP TABLE IF EXISTS system_update;
|
||||
DROP INDEX IF EXISTS idx_core_update_game_id;
|
||||
@@ -186,6 +189,15 @@ AFTER DELETE ON package_warnings_to_data
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM package_warnings_data
|
||||
WHERE id = OLD.id
|
||||
WHERE id = OLD.package_warnings_data_id
|
||||
AND NOT EXISTS (SELECT 1 FROM package_warnings_to_data WHERE package_warnings_data_id = OLD.package_warnings_data_id);
|
||||
END;
|
||||
|
||||
CREATE TRIGGER tr_delete_pack_to_index_index
|
||||
AFTER DELETE ON pack_to_index
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DELETE FROM index_
|
||||
WHERE id = OLD.index_id
|
||||
AND NOT EXISTS (SELECT 1 FROM pack_to_index WHERE index_id = OLD.index_id);
|
||||
END;
|
||||
@@ -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