Show error message when db failed to rebuild (#2043)
* Show error message when db failed to rebuild; fix #1908; * Forgot file
This commit is contained in:
parent
d38846f126
commit
9cda561091
4 changed files with 19 additions and 4 deletions
|
@ -786,6 +786,9 @@ class UiWebsocketPlugin(object):
|
|||
if "ADMIN" not in permissions:
|
||||
return self.response(to, "You don't have permission to run this command")
|
||||
|
||||
self.site.storage.rebuildDb()
|
||||
result = self.site.storage.rebuildDb()
|
||||
|
||||
if not result:
|
||||
return self.response(to, {"error": "Failed to rebuild database"})
|
||||
|
||||
return self.response(to, "ok")
|
||||
|
|
|
@ -814,8 +814,15 @@ window.initScrollable = function () {
|
|||
this.tag.find("#button-dbrebuild").off("click touchend").on("click touchend", (function(_this) {
|
||||
return function() {
|
||||
_this.wrapper.notifications.add("done-dbrebuild", "info", "Database rebuilding....");
|
||||
_this.wrapper.ws.cmd("dbRebuild", [], function() {
|
||||
_this.wrapper.ws.cmd("dbRebuild", [], function(response) {
|
||||
|
||||
if (response !== "ok") {
|
||||
_this.wrapper.notifications.add("done-dbrebuild", "error", response.error, 5000);
|
||||
return _this.updateHtmlTag();
|
||||
}
|
||||
|
||||
_this.wrapper.notifications.add("done-dbrebuild", "done", "Database rebuilt!", 5000);
|
||||
|
||||
return _this.updateHtmlTag();
|
||||
});
|
||||
return false;
|
||||
|
|
|
@ -264,6 +264,7 @@ class Db(object):
|
|||
changed_tables.append(table_name)
|
||||
except Exception as err:
|
||||
self.log.error("Error creating table %s: %s" % (table_name, Debug.formatException(err)))
|
||||
return False
|
||||
|
||||
self.log.debug("Db check done in %.3fs, changed tables: %s" % (time.time() - s, changed_tables))
|
||||
if changed_tables:
|
||||
|
|
|
@ -138,7 +138,11 @@ class SiteStorage(object):
|
|||
self.event_db_busy = gevent.event.AsyncResult()
|
||||
|
||||
self.log.info("Creating tables...")
|
||||
self.db.checkTables()
|
||||
changed_tables = self.db.checkTables()
|
||||
if not changed_tables:
|
||||
# It failed
|
||||
# "Error creating table..."
|
||||
return False
|
||||
cur = self.db.getCursor()
|
||||
cur.logging = False
|
||||
s = time.time()
|
||||
|
|
Loading…
Reference in a new issue