R module-services/service-db/agents/settings/settings.sql => image/user/db/settings_v2_001.sql +3 -28
@@ 1,19 1,11 @@
---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,
+ path TEXT NOT NULL UNIQUE PRIMARY KEY,
value TEXT
);
-
--
-- Dictionary table, for variables with fixed set of values
--
@@ 46,23 38,6 @@ CREATE TABLE IF NOT EXISTS settings_changed_tab(
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;
-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"
A image/user/db/settings_v2_002.sql => image/user/db/settings_v2_002.sql +16 -0
@@ 0,0 1,16 @@
+-- ----------- 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 default values -------------------
+INSERT OR REPLACE INTO settings_tab (path, value) VALUES
+ ('system/phone_mode', 'online'),
+ ('timeFormat12', '0'),
+ ('timeDateFormat', '1'),
+ ('activeSim', '1'),
+ ('lockPassHash', '0'),
+ ('lockTime', '30000'),
+ ('displayLanguage', 'En'),
+ ('inputLanguage', 'En');
M module-db/Database/DatabaseInitializer.cpp => module-db/Database/DatabaseInitializer.cpp +2 -2
@@ 58,8 58,8 @@ std::vector<std::string> DatabaseInitializer::readCommands(fs::path filePath)
std::array<std::string, 3> DatabaseInitializer::splitFilename(std::string filename)
{
auto name = filename.substr(0, filename.find("."));
- auto prefix = name.substr(0, name.find("_"));
- auto postfix = name.substr(name.find("_") + 1, std::string::npos);
+ auto prefix = name.substr(0, name.find_last_of("_"));
+ auto postfix = name.substr(name.find_last_of("_") + 1, std::string::npos);
return {name, prefix, postfix};
}
M module-services/service-db/agents/settings/SettingsAgent.cpp => module-services/service-db/agents/settings/SettingsAgent.cpp +1 -7
@@ 24,8 24,6 @@ SettingsAgent::SettingsAgent(sys::Service *parentService) : DatabaseAgent(parent
void SettingsAgent::initDb()
{
- // LOG_DEBUG("sql:\n--\n%s\n--", getDbInitString().c_str());
- database->execute(getDbInitString().c_str());
auto notifications = database->query(settings::Statements::getAllNotifications);
if (nullptr == notifications || 0 == notifications->getRowCount()) {
return;
@@ 82,11 80,7 @@ void SettingsAgent::registerMessages()
auto SettingsAgent::getDbInitString() -> const std::string
{
- auto x = 0;
- const char *sql = (
-#include "settings.sql"
- );
- return sql;
+ return {};
}
auto SettingsAgent::getDbFilePath() -> const std::string