浏览代码

fix: database is locked

zhangjie 11 月之前
父节点
当前提交
8be282e0bd
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      electron/db/sequelizeInstance.ts

+ 5 - 1
electron/db/sequelizeInstance.ts

@@ -1,4 +1,4 @@
-import { Sequelize } from 'sequelize';
+import { Sequelize, Transaction } from 'sequelize';
 import { getDatabasePath } from '../preload/utils';
 
 // doc: https://sequelize.org/docs/v6/getting-started/
@@ -16,6 +16,10 @@ const sequelize = new Sequelize({
     min: 5,
     acquire: 100000,
   },
+  // 对于使用了数据库事务的接口,高并发下,容易锁库。下面是解决办法。
+  // fix SQLITE_BUSY: database is locked
+  // https://github.com/sequelize/sequelize/issues/10304
+  transactionType: Transaction.TYPES.IMMEDIATE,
 });
 
 export default sequelize;