Добавлено пересоздание поисковой БД при обнаружении повреждений

This commit is contained in:
Book Pauk
2022-10-31 16:41:01 +07:00
parent 35d7e5296f
commit 21ec7df1e7

View File

@@ -132,7 +132,7 @@ class WebWorker {
}
}
async loadOrCreateDb(recreate = false) {
async loadOrCreateDb(recreate = false, iteration = 0) {
this.setMyState(ssDbLoading);
try {
@@ -187,14 +187,24 @@ class WebWorker {
},
});
//открываем таблицы
await db.openAll({exclude: ['author_id', 'series_id', 'title_id', 'book']});
try {
//открываем таблицы
await db.openAll({exclude: ['author_id', 'series_id', 'title_id', 'book']});
const bookCacheSize = 500;
await db.open({
table: 'book',
cacheSize: (config.lowMemoryMode || config.dbCacheSize > bookCacheSize ? config.dbCacheSize : bookCacheSize)
});
const bookCacheSize = 500;
await db.open({
table: 'book',
cacheSize: (config.lowMemoryMode || config.dbCacheSize > bookCacheSize ? config.dbCacheSize : bookCacheSize)
});
} catch(e) {
log(LM_ERR, `Database error: ${e.message}`);
if (iteration < 1) {
log('Recreating DB');
await this.loadOrCreateDb(true, iteration + 1);
} else
throw e;
return;
}
//поисковый движок
this.dbSearcher = new DbSearcher(config, db);