-- Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. -- For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md --x, R"dbInitStr( /* * Create Settings tables */ BEGIN TRANSACTION; -- -- Main settings table, for string application persistent data -- CREATE TABLE IF NOT EXISTS settings_tab ( path TEXT NOT NULL UNIQUE PRIMARY KEY, value TEXT ); -- -- Dictionary table, for variables with fixed set of values -- CREATE TABLE IF NOT EXISTS dictionary_tab ( id INTEGER PRIMARY KEY, path TEXT NOT NULL, value TEXT, CONSTRAINT dictionary_unique UNIQUE (path, value) ON CONFLICT REPLACE ); -- -- Table contains information who to inform -- about changes in values. -- CREATE TABLE IF NOT EXISTS notifications_tab ( id INTEGER PRIMARY KEY, path TEXT NOT NULL, service TEXT, CONSTRAINT notification_unique UNIQUE(path, service) ); CREATE TABLE IF NOT EXISTS settings_changed_tab( id INTEGER PRIMARY KEY, path TEXT NOT NULL, value TEXT, CONSTRAINT changed_unique UNIQUE(path ) ON CONFLICT REPLACE ); CREATE TRIGGER IF NOT EXISTS on_update UPDATE OF value ON settings_tab WHEN new.value <> old.value BEGIN INSERT OR REPLACE INTO settings_changed_tab (path, value) VALUES (new.path,new.value); END; -- ----------- insert default values ---------------------- INSERT OR REPLACE INTO dictionary_tab (path, value) VALUES ('system/phone_mode', 'online'), ('system/phone_mode', 'offline'), ('system/phone_mode', 'dnd'); INSERT OR REPLACE INTO settings_tab (path, value) VALUES ('system/phone_mode', 'online'); COMMIT TRANSACTION; -- )dbInitStr"