fix errors on insertion to game, fix db creation of game
This commit is contained in:
@@ -19,6 +19,7 @@ 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_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;
|
||||
|
||||
@@ -397,15 +397,30 @@ CREATE TABLE IF NOT EXISTS package_warnings (
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS package_warnings_to_data (
|
||||
package_warnings_id INTEGER,
|
||||
package_warnings_data_id TEXT,
|
||||
|
||||
PRIMARY KEY (package_warnings_id, package_warnings_data_id),
|
||||
FOREIGN KEY (package_warnings_id) REFERENCES package_warnings(id) ON DELETE CASCADE,
|
||||
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,
|
||||
|
||||
type VARCHAR(128) NOT NULL,
|
||||
manifest VARCHAR(128) NOT NULL,
|
||||
reinstallable BOOLEAN NOT NULL,
|
||||
|
||||
package_warnings_id INTEGER,
|
||||
FOREIGN KEY (package_warnings_id) REFERENCES package_warnings(id) ON DELETE CASCADE
|
||||
reinstallable BOOLEAN NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS package_warnings_data_warning (
|
||||
@@ -510,6 +525,9 @@ CREATE TABLE IF NOT EXISTS world (
|
||||
owned BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
has_storage BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
setup_id INTEGER,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
@@ -1,3 +1,191 @@
|
||||
DROP TABLE IF EXISTS modules_languages;
|
||||
DROP TABLE IF EXISTS modules_compatibility;
|
||||
DROP TABLE IF EXISTS modules;
|
||||
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 TABLE IF EXISTS token_turn_maker;
|
||||
DROP TABLE IF EXISTS token_occludable;
|
||||
DROP TABLE IF EXISTS token_light_darkness;
|
||||
DROP TABLE IF EXISTS token_light_animation;
|
||||
DROP TABLE IF EXISTS token_light;
|
||||
DROP TABLE IF EXISTS token_bar_2;
|
||||
DROP TABLE IF EXISTS token_bar_1;
|
||||
DROP TABLE IF EXISTS token_texture;
|
||||
DROP TABLE IF EXISTS token_sight;
|
||||
DROP TABLE IF EXISTS ring_subject;
|
||||
DROP TABLE IF EXISTS ring_colors;
|
||||
DROP TABLE IF EXISTS ring;
|
||||
DROP TABLE IF EXISTS token;
|
||||
DROP TABLE IF EXISTS actor;
|
||||
DROP TABLE IF EXISTS sound;
|
||||
DROP TABLE IF EXISTS playlist;
|
||||
DROP TABLE IF EXISTS table_result_range;
|
||||
DROP TABLE IF EXISTS table_result;
|
||||
DROP TABLE IF EXISTS table_;
|
||||
DROP TABLE IF EXISTS journal_page_video;
|
||||
DROP TABLE IF EXISTS journal_page_title;
|
||||
DROP TABLE IF EXISTS journal_page_text;
|
||||
DROP TABLE IF EXISTS journal_page;
|
||||
DROP TABLE IF EXISTS journal;
|
||||
DROP TABLE IF EXISTS setting;
|
||||
DROP TABLE IF EXISTS item;
|
||||
DROP TABLE IF EXISTS world_folder;
|
||||
DROP TABLE IF EXISTS macro;
|
||||
DROP TABLE IF EXISTS hotbar;
|
||||
DROP TABLE IF EXISTS user;
|
||||
DROP TABLE IF EXISTS face;
|
||||
DROP TABLE IF EXISTS back;
|
||||
DROP TABLE IF EXISTS card;
|
||||
DROP TABLE IF EXISTS ownership_string;
|
||||
DROP TABLE IF EXISTS card_deck;
|
||||
DROP TABLE IF EXISTS combatant;
|
||||
DROP TABLE IF EXISTS combat_groups;
|
||||
DROP TABLE IF EXISTS combat;
|
||||
DROP TABLE IF EXISTS message_rolls;
|
||||
DROP TABLE IF EXISTS message_whisper;
|
||||
DROP TABLE IF EXISTS speaker;
|
||||
DROP TABLE IF EXISTS stats;
|
||||
DROP TABLE IF EXISTS message;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS pack_new (
|
||||
id INTEGER PRIMARY KEY,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
label VARCHAR(128) NOT NULL,
|
||||
banner VARCHAR(128) NOT NULL,
|
||||
path VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
system VARCHAR(128) NOT NULL,
|
||||
package_type VARCHAR(128) NOT NULL,
|
||||
package_name VARCHAR(128) NOT NULL,
|
||||
|
||||
module_id TEXT,
|
||||
FOREIGN KEY (module_id) REFERENCES module(id) ON DELETE CASCADE
|
||||
);
|
||||
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;
|
||||
DROP TABLE IF EXISTS pack;
|
||||
ALTER TABLE pack_new RENAME TO pack;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS package_warnings_new (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
key_ TEXT NOT NULL,
|
||||
|
||||
setup_id INTEGER,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO package_warnings_new (id, key_, setup_id)
|
||||
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 active_users;
|
||||
DROP TABLE IF EXISTS system_update;
|
||||
DROP INDEX IF EXISTS idx_core_update_game_id;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS core_update_new (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
has_update BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
can_update BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
could_reach_website BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
slow_response BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
will_disable_modules BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
version VARCHAR(64) NOT NULL,
|
||||
channel VARCHAR(64) NOT NULL,
|
||||
|
||||
setup_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO core_update_new (id, has_update, can_update, could_reach_website, slow_response, will_disable_modules, version, channel, setup_id)
|
||||
SELECT id, has_update, can_update, could_reach_website, slow_response, will_disable_modules, version, channel, setup_id FROM core_update;
|
||||
DROP TABLE IF EXISTS core_update;
|
||||
ALTER TABLE core_update_new RENAME TO core_update;
|
||||
|
||||
DROP TABLE IF EXISTS game_to_systems;
|
||||
DROP INDEX IF EXISTS idx_world_game_id;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS world_new (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
title VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
version VARCHAR(128) NOT NULL,
|
||||
system VARCHAR(128) NOT NULL,
|
||||
background VARCHAR(128) NOT NULL,
|
||||
join_theme VARCHAR(128) NOT NULL,
|
||||
core_version VARCHAR(128) NOT NULL,
|
||||
system_version VARCHAR(128) NOT NULL,
|
||||
last_played VARCHAR(128) NOT NULL,
|
||||
playtime INTEGER NOT NULL,
|
||||
availability INTEGER NOT NULL,
|
||||
next_session DATETIME NOT NULL,
|
||||
socket BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
protected BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
exclusive_ BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
persistent_storage BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
locked BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
owned BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
has_storage BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
|
||||
created_at TEXT DEFAULT (datetime('now')),
|
||||
updated_at TEXT DEFAULT (datetime('now')),
|
||||
|
||||
setup_id INTEGER,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO world_new (id, title, description, version, system, background, join_theme, core_version, system_version, last_played, playtime, availability, next_session, socket, protected, exclusive_, persistent_storage, locked, owned, has_storage, created_at, updated_at, setup_id)
|
||||
SELECT id, title, description, version, system, background, join_theme, core_version, system_version, last_played, playtime, availability, next_session, socket, protected, exclusive_, persistent_storage, locked, owned, has_storage, created_at, updated_at, setup_id FROM world;
|
||||
DROP TABLE IF EXISTS world;
|
||||
ALTER TABLE world_new RENAME TO world;
|
||||
|
||||
DROP INDEX IF EXISTS idx_release_game_id;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS release_new (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
generation INTEGER NOT NULL,
|
||||
build INTEGER NOT NULL,
|
||||
node_version INTEGER NOT NULL,
|
||||
max_generation INTEGER NOT NULL,
|
||||
max_stable_generation INTEGER NOT NULL,
|
||||
time DATETIME NOT NULL,
|
||||
channel VARCHAR(128) NOT NULL,
|
||||
suffix VARCHAR(128) NOT NULL,
|
||||
|
||||
setup_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO release_new (id, generation, build, node_version, max_generation, max_stable_generation, time, channel, suffix, setup_id)
|
||||
SELECT id, generation, build, node_version, max_generation, max_stable_generation, time, channel, suffix, setup_id FROM release_;
|
||||
DROP TABLE IF EXISTS release_;
|
||||
ALTER TABLE release_new RENAME TO release_;
|
||||
|
||||
DROP TABLE IF EXISTS game_options;
|
||||
DROP INDEX IF EXISTS idx_files_game_id;
|
||||
|
||||
DROP TABLE IF EXISTS files_new;
|
||||
CREATE TABLE IF NOT EXISTS files_new (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
setup_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (setup_id) REFERENCES setup(id) ON DELETE CASCADE
|
||||
);
|
||||
INSERT INTO files_new (id, setup_id)
|
||||
SELECT id, setup_id FROM files;
|
||||
DROP TABLE IF EXISTS files;
|
||||
ALTER TABLE files_new RENAME TO files;
|
||||
|
||||
DROP TABLE IF EXISTS addresses;
|
||||
DROP TABLE IF EXISTS game;
|
||||
|
||||
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;
|
||||
@@ -1,5 +1,5 @@
|
||||
CREATE TABLE IF NOT EXISTS game (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
demo_mode BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
idle_logout BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
@@ -20,6 +20,8 @@ CREATE TABLE IF NOT EXISTS addresses (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE files ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_files_game_id ON files(game_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS game_options (
|
||||
id INTEGER PRIMARY KEY,
|
||||
@@ -32,22 +34,280 @@ CREATE TABLE IF NOT EXISTS game_options (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS macro (
|
||||
id TEXT PRIMARY KEY,
|
||||
ALTER TABLE release_ ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_release_game_id ON release_(game_id);
|
||||
ALTER TABLE world ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_world_game_id ON world(game_id);
|
||||
|
||||
command VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
author VARCHAR(128) NOT NULL,
|
||||
scope VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS game_to_systems (
|
||||
game_id INTEGER,
|
||||
system_id TEXT,
|
||||
|
||||
PRIMARY KEY (game_id, system_id),
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (system_id) REFERENCES system(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
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
|
||||
AND NOT EXISTS (SELECT 1 FROM game_to_systems WHERE system_id = OLD.system_id);
|
||||
END;
|
||||
|
||||
ALTER TABLE core_update ADD COLUMN game_id INTEGER REFERENCES game(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_core_update_game_id ON core_update(game_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS system_update (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
has_update BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
version VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS active_users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS game_to_module (
|
||||
game_id INTEGER,
|
||||
module_id TEXT,
|
||||
|
||||
PRIMARY KEY (game_id, module_id),
|
||||
FOREIGN KEY (module_id) REFERENCES module(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
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
|
||||
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 message (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
blind BOOLEAN NOT NULL,
|
||||
emote BOOLEAN NOT NULL,
|
||||
style INTEGER NOT NULL,
|
||||
timestamp DATETIME NOT NULL,
|
||||
content VARCHAR(128) NOT NULL,
|
||||
author VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
flavor VARCHAR(128) NOT NULL,
|
||||
sound VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
core_version VARCHAR(128) NOT NULL,
|
||||
system_id VARCHAR(128) NOT NULL,
|
||||
system_version VARCHAR(128) NOT NULL,
|
||||
last_modified_by VARCHAR(128) NOT NULL,
|
||||
modified_time DATETIME NOT NULL,
|
||||
|
||||
message_id TEXT UNIQUE,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS speaker (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
scene VARCHAR(128) NOT NULL,
|
||||
actor VARCHAR(128) NOT NULL,
|
||||
token VARCHAR(128) NOT NULL,
|
||||
alias VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT UNIQUE,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message_whisper (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message_rolls (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combat (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
type VARCHAR(128) NOT NULL,
|
||||
scene VARCHAR(128) NOT NULL,
|
||||
round INTEGER NOT NULL,
|
||||
turn INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
active INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN combat_id TEXT REFERENCES combat(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_combat_id ON stats(combat_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combat_groups (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
combat_id TEXT,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combatant (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
token_id VARCHAR(128) NOT NULL,
|
||||
scene_id VARCHAR(128) NOT NULL,
|
||||
actor_id VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
group_ VARCHAR(128) NOT NULL,
|
||||
initiative INTEGER NOT NULL,
|
||||
hidden BOOLEAN NOT NULL,
|
||||
defeated BOOLEAN NOT NULL,
|
||||
|
||||
combat_id TEXT,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN combatant_id TEXT REFERENCES combatant(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_combatant_id ON stats(combatant_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS card_deck (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
rotation INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
display_count BOOLEAN NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN card_deck_id TEXT REFERENCES card_deck(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_card_deck_id ON stats(card_deck_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ownership_string (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
value INTEGER NOT NULL,
|
||||
|
||||
card_deck_id TEXT UNIQUE,
|
||||
FOREIGN KEY (card_deck_id) REFERENCES card_deck(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS card (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
suit VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
origin VARCHAR(128) NOT NULL,
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
rotation INTEGER NOT NULL,
|
||||
value INTEGER NOT NULL,
|
||||
face INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
card_deck_id TEXT,
|
||||
FOREIGN KEY (card_deck_id) REFERENCES card_deck(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS back (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
text VARCHAR(128) NOT NULL,
|
||||
|
||||
card_id TEXT UNIQUE,
|
||||
FOREIGN KEY (card_id) REFERENCES card(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN card_id TEXT REFERENCES card(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_card_id ON stats(card_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS face (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
text VARCHAR(128) NOT NULL,
|
||||
|
||||
card_id TEXT,
|
||||
FOREIGN KEY (card_id) REFERENCES card(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
avatar VARCHAR(128) NOT NULL,
|
||||
character VARCHAR(128) NOT NULL,
|
||||
color VARCHAR(128) NOT NULL,
|
||||
pronouns VARCHAR(128) NOT NULL,
|
||||
role INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN user_id TEXT REFERENCES user(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_user_id ON stats(user_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS hotbar (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
key_ INTEGER NOT NULL,
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
user_id TEXT,
|
||||
FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS macro (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -64,6 +324,163 @@ CREATE TABLE IF NOT EXISTS macro (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN macro_id TEXT REFERENCES macro(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_macro_id ON stats(macro_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN macro_id TEXT REFERENCES macro(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS world_folder (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sorting VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
color VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN world_folder_id TEXT REFERENCES world_folder(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_world_folder_id ON stats(world_folder_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS item (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
img VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN item_id TEXT REFERENCES item(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_item_id ON stats(item_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN item_id TEXT REFERENCES item(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS setting (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN setting_id TEXT REFERENCES setting(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_setting_id ON stats(setting_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
src VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
journal_id TEXT,
|
||||
FOREIGN KEY (journal_id) REFERENCES journal(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_text (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
content VARCHAR(128) NOT NULL,
|
||||
markdown VARCHAR(128) NOT NULL,
|
||||
format INTEGER NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_title (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
show BOOLEAN NOT NULL,
|
||||
level INTEGER NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_video (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
controls BOOLEAN NOT NULL,
|
||||
volume REAL NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
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;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_ (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
formula VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
replacement BOOLEAN NOT NULL,
|
||||
display_roll BOOLEAN NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN table_id TEXT REFERENCES table_(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_table_id ON stats(table_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN table_id TEXT REFERENCES table_(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_result (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
type VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
weight INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
table_id TEXT,
|
||||
FOREIGN KEY (table_id) REFERENCES table_(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN table_result_id TEXT REFERENCES table_result(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_table_result_id ON stats(table_result_id);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_result_range (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
value INTEGER NOT NULL,
|
||||
|
||||
table_result_id TEXT,
|
||||
FOREIGN KEY (table_result_id) REFERENCES table_result(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS playlist (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -82,6 +499,10 @@ CREATE TABLE IF NOT EXISTS playlist (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN playlist_id TEXT REFERENCES playlist(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_playlist_id ON stats(playlist_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN playlist_id TEXT REFERENCES playlist(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS sound (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
@@ -113,8 +534,13 @@ CREATE TABLE IF NOT EXISTS actor (
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
ALTER TABLE stats ADD COLUMN actor_id TEXT REFERENCES actor(id) ON DELETE CASCADE;
|
||||
CREATE UNIQUE INDEX idx_stats_actor_id ON stats(actor_id);
|
||||
ALTER TABLE ownership_string ADD COLUMN actor_id TEXT REFERENCES actor(id) ON DELETE CASCADE;
|
||||
ALTER TABLE item ADD COLUMN actor_id TEXT REFERENCES actor(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token (
|
||||
id INTEGER PRIMARY KEY,
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
actor_link BOOLEAN NOT NULL,
|
||||
@@ -179,6 +605,43 @@ CREATE TABLE IF NOT EXISTS token_sight (
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_texture (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
src VARCHAR(128) NOT NULL,
|
||||
fit VARCHAR(128) NOT NULL,
|
||||
tint VARCHAR(128) NOT NULL,
|
||||
scale_x REAL NOT NULL,
|
||||
scale_y REAL NOT NULL,
|
||||
offset_x REAL NOT NULL,
|
||||
offset_y REAL NOT NULL,
|
||||
rotation REAL NOT NULL,
|
||||
anchor_x REAL NOT NULL,
|
||||
anchor_y REAL NOT NULL,
|
||||
alpha_threshold REAL NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_bar_1 (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
attribute VARCHAR(128) NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_bar_2 (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
attribute VARCHAR(128) NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_light (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
@@ -221,43 +684,6 @@ CREATE TABLE IF NOT EXISTS token_light_darkness (
|
||||
FOREIGN KEY (token_light_id) REFERENCES token_light(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_texture (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
src VARCHAR(128) NOT NULL,
|
||||
fit VARCHAR(128) NOT NULL,
|
||||
tint VARCHAR(128) NOT NULL,
|
||||
scale_x REAL NOT NULL,
|
||||
scale_y REAL NOT NULL,
|
||||
offset_x REAL NOT NULL,
|
||||
offset_y REAL NOT NULL,
|
||||
rotation REAL NOT NULL,
|
||||
anchor_x REAL NOT NULL,
|
||||
anchor_y REAL NOT NULL,
|
||||
alpha_threshold REAL NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_bar_1 (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
attribute VARCHAR(128) NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_bar_2 (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
attribute VARCHAR(128) NOT NULL,
|
||||
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS token_occludable (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
@@ -278,384 +704,3 @@ CREATE TABLE IF NOT EXISTS token_turn_maker (
|
||||
token_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (token_id) REFERENCES token(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_ (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
formula VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
replacement BOOLEAN NOT NULL,
|
||||
display_roll BOOLEAN NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_result (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
type VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
weight INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
table_id INTEGER,
|
||||
FOREIGN KEY (table_id) REFERENCES table_(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS table_result_range (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
range_ INTEGER NOT NULL,
|
||||
|
||||
table_result_id INTEGER,
|
||||
FOREIGN KEY (table_result_id) REFERENCES table_result(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
avatar VARCHAR(128) NOT NULL,
|
||||
character VARCHAR(128) NOT NULL,
|
||||
color VARCHAR(128) NOT NULL,
|
||||
pronouns VARCHAR(128) NOT NULL,
|
||||
role INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS setting (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS hotbar (
|
||||
id INTEGER PRIMARY KEY,
|
||||
|
||||
key_ INTEGER NOT NULL,
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
user_id TEXT,
|
||||
FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS active_users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
users VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS item (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
img VARCHAR(128) NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE,
|
||||
actor_id TEXT,
|
||||
FOREIGN KEY (actor_id) REFERENCES actor(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS world_folder (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
sorting VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
color VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
blind BOOLEAN NOT NULL,
|
||||
emote BOOLEAN NOT NULL,
|
||||
style INTEGER NOT NULL,
|
||||
timestamp DATETIME NOT NULL,
|
||||
content VARCHAR(128) NOT NULL,
|
||||
author VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
flavor VARCHAR(128) NOT NULL,
|
||||
sound VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combat (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
type VARCHAR(128) NOT NULL,
|
||||
scene VARCHAR(128) NOT NULL,
|
||||
round INTEGER NOT NULL,
|
||||
turn INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
active INTEGER NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS card_deck (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
folder VARCHAR(128) NOT NULL,
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
rotation INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
display_count BOOLEAN NOT NULL,
|
||||
|
||||
game_id INTEGER,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combatant (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
token_id VARCHAR(128) NOT NULL,
|
||||
scene_id VARCHAR(128) NOT NULL,
|
||||
actor_id VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
group_ VARCHAR(128) NOT NULL,
|
||||
initiative INTEGER NOT NULL,
|
||||
hidden BOOLEAN NOT NULL,
|
||||
defeated BOOLEAN NOT NULL,
|
||||
|
||||
combat_id TEXT,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS stats (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
core_version VARCHAR(128) NOT NULL,
|
||||
system_id VARCHAR(128) NOT NULL,
|
||||
system_version VARCHAR(128) NOT NULL,
|
||||
last_modified_by VARCHAR(128) NOT NULL,
|
||||
modified_time DATETIME NOT NULL,
|
||||
|
||||
message_id TEXT UNIQUE,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE,
|
||||
combat_id TEXT UNIQUE,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE,
|
||||
combatant_id TEXT UNIQUE,
|
||||
FOREIGN KEY (combatant_id) REFERENCES combatant(id) ON DELETE CASCADE,
|
||||
card_deck_id TEXT UNIQUE,
|
||||
FOREIGN KEY (card_deck_id) REFERENCES card_deck(id) ON DELETE CASCADE,
|
||||
card_id TEXT UNIQUE,
|
||||
FOREIGN KEY (card_id) REFERENCES card(id) ON DELETE CASCADE,
|
||||
user_id TEXT UNIQUE,
|
||||
FOREIGN KEY (user_id) REFERENCES user(id) ON DELETE CASCADE,
|
||||
macro_id TEXT UNIQUE,
|
||||
FOREIGN KEY (macro_id) REFERENCES macro(id) ON DELETE CASCADE,
|
||||
world_folder_id TEXT UNIQUE,
|
||||
FOREIGN KEY (world_folder_id) REFERENCES world_folder(id) ON DELETE CASCADE,
|
||||
item_id TEXT UNIQUE,
|
||||
FOREIGN KEY (item_id) REFERENCES item(id) ON DELETE CASCADE,
|
||||
setting_id TEXT UNIQUE,
|
||||
FOREIGN KEY (setting_id) REFERENCES setting(id) ON DELETE CASCADE,
|
||||
journal_page_id TEXT UNIQUE,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE,
|
||||
table_id TEXT UNIQUE,
|
||||
FOREIGN KEY (table_id) REFERENCES table_(id) ON DELETE CASCADE,
|
||||
table_result_id TEXT UNIQUE,
|
||||
FOREIGN KEY (table_result_id) REFERENCES table_result(id) ON DELETE CASCADE,
|
||||
playlist_id TEXT UNIQUE,
|
||||
FOREIGN KEY (playlist_id) REFERENCES playlist(id) ON DELETE CASCADE,
|
||||
actor_id TEXT UNIQUE,
|
||||
FOREIGN KEY (actor_id) REFERENCES actor(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS speaker (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
scene VARCHAR(128) NOT NULL,
|
||||
actor VARCHAR(128) NOT NULL,
|
||||
token VARCHAR(128) NOT NULL,
|
||||
alias VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT UNIQUE,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS combat_groups (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
groups_ VARCHAR(128) NOT NULL,
|
||||
|
||||
combat_id TEXT,
|
||||
FOREIGN KEY (combat_id) REFERENCES combat(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS card (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
suit VARCHAR(128) NOT NULL,
|
||||
description VARCHAR(128) NOT NULL,
|
||||
origin VARCHAR(128) NOT NULL,
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
rotation INTEGER NOT NULL,
|
||||
value INTEGER NOT NULL,
|
||||
face INTEGER NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
drawn BOOLEAN NOT NULL,
|
||||
|
||||
card_deck_id TEXT,
|
||||
FOREIGN KEY (card_deck_id) REFERENCES card_deck(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS back (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
text VARCHAR(128) NOT NULL,
|
||||
|
||||
card_id TEXT UNIQUE,
|
||||
FOREIGN KEY (card_id) REFERENCES card(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS face (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
img VARCHAR(128) NOT NULL,
|
||||
text VARCHAR(128) NOT NULL,
|
||||
|
||||
card_id TEXT,
|
||||
FOREIGN KEY (card_id) REFERENCES card(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message_whisper (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS message_rolls (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
value VARCHAR(128) NOT NULL,
|
||||
|
||||
message_id TEXT,
|
||||
FOREIGN KEY (message_id) REFERENCES message(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page (
|
||||
id TEXT PRIMARY KEY,
|
||||
|
||||
name VARCHAR(128) NOT NULL,
|
||||
type VARCHAR(128) NOT NULL,
|
||||
src VARCHAR(128) NOT NULL,
|
||||
sort INTEGER NOT NULL,
|
||||
|
||||
journal_id TEXT,
|
||||
FOREIGN KEY (journal_id) REFERENCES journal(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_text (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
content VARCHAR(128) NOT NULL,
|
||||
markdown VARCHAR(128) NOT NULL,
|
||||
format INTEGER NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_title (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
show BOOLEAN NOT NULL,
|
||||
level INTEGER NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS journal_page_video (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
controls BOOLEAN NOT NULL,
|
||||
volume REAL NOT NULL,
|
||||
|
||||
journal_page_id TEXT,
|
||||
FOREIGN KEY (journal_page_id) REFERENCES journal_page(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS ownership_string (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
key_ VARCHAR(128) NOT NULL,
|
||||
value INTEGER NOT NULL,
|
||||
|
||||
macro_id TEXT,
|
||||
FOREIGN KEY (macro_id) REFERENCES macro(id) ON DELETE CASCADE,
|
||||
item_id TEXT,
|
||||
FOREIGN KEY (item_id) REFERENCES item(id) ON DELETE CASCADE,
|
||||
journal_id TEXT,
|
||||
FOREIGN KEY (journal_id) REFERENCES journal(id) ON DELETE CASCADE,
|
||||
playlist_id TEXT,
|
||||
FOREIGN KEY (playlist_id) REFERENCES playlist(id) ON DELETE CASCADE,
|
||||
actor_id TEXT,
|
||||
FOREIGN KEY (actor_id) REFERENCES actor(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS system_update (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
has_update BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
version VARCHAR(128) NOT NULL,
|
||||
|
||||
game_id INTEGER UNIQUE,
|
||||
FOREIGN KEY (game_id) REFERENCES game(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user