finish world initialization, set up init on startup and on shutdown, move all models to main directory

This commit is contained in:
lbenedar
2026-04-24 18:04:35 +03:00
parent 07025afefc
commit fd65631be1
125 changed files with 1534 additions and 2802 deletions

View File

@@ -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,