diff --git a/server/db/JembaConnManager.js b/server/db/JembaConnManager.js index 5b32142a..d3a2dd57 100644 --- a/server/db/JembaConnManager.js +++ b/server/db/JembaConnManager.js @@ -21,7 +21,7 @@ class JembaConnManager { return instance; } - async init(config, migs = jembaMigrations, undoLastMigration = false) { + async init(config, forceAutoRepair = false, migs = jembaMigrations, undoLastMigration = false) { if (this.inited) throw new Error('JembaConnManager initialized already'); @@ -52,7 +52,7 @@ class JembaConnManager { try { await dbConn.openAll(); } catch(e) { - if (dbConfig.autoRepair && + if ((forceAutoRepair || dbConfig.autoRepair) && ( e.message.indexOf('corrupted') >= 0 || e.message.indexOf('Unexpected token') >= 0 diff --git a/server/index.js b/server/index.js index 72577c11..884c147f 100644 --- a/server/index.js +++ b/server/index.js @@ -48,7 +48,7 @@ async function init() { await connManager.init(config); const jembaConnManager = new (require('./db/JembaConnManager'))();//singleton - await jembaConnManager.init(config); + await jembaConnManager.init(config, argv['auto-repair']); //converter SQLITE => JembaDb const converter = new (require('./db/Converter'))();