aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorWaqas Hussain <waqas20@gmail.com>2010-12-12 05:39:24 +0500
committerWaqas Hussain <waqas20@gmail.com>2010-12-12 05:39:24 +0500
commitd6ce1c7e2a0e857ef575e999b4db2fb911650f5d (patch)
tree6d7f4dd04c08c04f827b06a9d6de3657cc50f1db /plugins
parenta1a38f2f551bcc936d470efa3c69ead5646eb327 (diff)
downloadprosody-d6ce1c7e2a0e857ef575e999b4db2fb911650f5d.tar.gz
prosody-d6ce1c7e2a0e857ef575e999b4db2fb911650f5d.zip
mod_storage_sql: Auto-initialize SQLite3 database.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mod_storage_sql.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/plugins/mod_storage_sql.lua b/plugins/mod_storage_sql.lua
index 68b38134..593acd31 100644
--- a/plugins/mod_storage_sql.lua
+++ b/plugins/mod_storage_sql.lua
@@ -47,6 +47,19 @@ do -- process options to get a db connection
dbh:autocommit(false); -- don't commit automatically
connection = dbh;
+
+ if params.driver == "SQLite3" then -- auto initialize
+ local stmt = assert(connection:prepare("SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='Prosody';"));
+ local ok = assert(stmt:execute());
+ local count = stmt:fetch()[1];
+ if count == 0 then
+ local stmt = assert(connection:prepare("CREATE TABLE Prosody (host TEXT, user TEXT, store TEXT, key TEXT, subkey TEXT, type TEXT, value TEXT);"));
+ assert(stmt:execute());
+ assert(connection:commit());
+ module:log("debug", "Initialized new SQLite3 database");
+ end
+ --print("===", json.stringify())
+ end
end
local function serialize(value)