From f72ab7fae9b8a0d5187af3efc7028ae7b0c35e89 Mon Sep 17 00:00:00 2001 From: Radoslaw Wicik Date: Fri, 15 Jan 2021 10:09:44 +0100 Subject: [PATCH] [EGD-5247] Bring back settings db definition script Restore accidentally deleted script with settings database definition. --- image/user/db/settings_v2_002.sql | 61 +++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/image/user/db/settings_v2_002.sql b/image/user/db/settings_v2_002.sql index 52df34653427f784ada422f47b90949856a6b673..9761e5309349ef351588c891b3b0d68b5ecc6dd0 100644 --- a/image/user/db/settings_v2_002.sql +++ b/image/user/db/settings_v2_002.sql @@ -1,20 +1,43 @@ --- ----------- insert default values ---------------------- -INSERT OR REPLACE INTO dictionary_tab (path, value) VALUES - ('system/phone_mode', 'online'), - ('system/phone_mode', 'offline'), - ('system/phone_mode', 'dnd'); +-- +-- 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 IGNORE INTO settings_tab (path, value) VALUES - ('system/phone_mode', 'online'), - ('gs_time_format_12', '0'), - ('gs_time_date_format', '1'), - ('gs_active_sim', 'SIM1'), - ('gs_lock_pass_hash', '3333'), - ('gs_lock_time', '30000'), - ('gs_display_language', 'English'), - ('gs_input_language', 'English'); - ('bt_state', '0'), - ('bt_device_visibility', '0'), - ('bt_device_name', 'PurePhone'), - ('bt_bonded_devices', '');