From 51d34126fcd27c374c2a44ab077b592c81d479ab Mon Sep 17 00:00:00 2001 From: lesion Date: Fri, 6 May 2022 23:04:12 +0200 Subject: [PATCH] retry transiction on sqlite when busy --- server/api/models/index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/api/models/index.js b/server/api/models/index.js index b26cddfa..752fa34c 100644 --- a/server/api/models/index.js +++ b/server/api/models/index.js @@ -15,6 +15,17 @@ const db = { connect (dbConf = config.db) { log.debug(`Connecting to DB: ${JSON.stringify(dbConf)}`) dbConf.dialectOptions = { autoJsonMap: false } + if (dbConf.dialect === 'sqlite') { + dbConf.retry = { + match: [ + Sequelize.ConnectionError, + Sequelize.ConnectionTimedOutError, + Sequelize.TimeoutError, + /Deadlock/i, + /SQLITE_BUSY/], + max: 15 + } + } db.sequelize = new Sequelize(dbConf) return db.sequelize.authenticate() }, @@ -39,7 +50,7 @@ const db = { path: path.resolve(__dirname, '..', '..', 'migrations') } }) - return await umzug.up() + return umzug.up() }, async initialize () { if (config.status === 'READY') {