--- a/plugins/mod_storage_sql.lua Sat Jun 11 02:15:38 2011 +0100
+++ b/plugins/mod_storage_sql.lua Sat Jun 11 02:16:26 2011 +0100
@@ -75,7 +75,7 @@
create_sql = create_sql:gsub("`value` TEXT", "`value` MEDIUMTEXT");
end
- local stmt = connection:prepare(create_sql);
+ local stmt, err = connection:prepare(create_sql);
if stmt then
local ok = stmt:execute();
local commit_ok = connection:commit();
@@ -103,18 +103,25 @@
local commit_ok = connection:commit();
if ok and commit_ok then
if stmt:rowcount() > 0 then
+ module:log("info", "Upgrading database schema...");
local stmt = connection:prepare("ALTER TABLE prosody MODIFY COLUMN `value` MEDIUMTEXT");
- local ok = stmt:execute();
+ local ok, err = stmt:execute();
local commit_ok = connection:commit();
if ok and commit_ok then
module:log("info", "Database table automatically upgraded");
+ else
+ module:log("error", "Failed to upgrade database schema (%s), please see "
+ .."http://prosody.im/doc/mysql for help",
+ err or "unknown error");
end
end
repeat until not stmt:fetch();
- else
- module:log("error", "Failed to upgrade database schema, please see http://prosody.im/doc/mysql for help");
end
end
+ elseif params.driver ~= "SQLite3" then -- SQLite normally fails to prepare for existing table
+ module:log("warn", "Prosody was not able to automatically check/create the database table (%s), "
+ .."see http://prosody.im/doc/modules/mod_storage_sql#table_management for help.",
+ err or "unknown error");
end
end