Добавлен конвертер SQLITE -> JambaDb

This commit is contained in:
Book Pauk
2021-12-03 14:07:32 +07:00
parent e278b4a00e
commit fb2eedd5ba
2 changed files with 48 additions and 2 deletions

42
server/db/Converter.js Normal file
View File

@@ -0,0 +1,42 @@
//TODO: удалить модуль в 2023г
const fs = require('fs-extra');
const log = new (require('../core/AppLogger'))().log;//singleton
class Converter {
async run(config) {
log('Converter start');
try {
const connManager = new (require('./ConnManager'))();//singleton
const storagePool = connManager.pool.readerStorage;
const jembaConnManager = new (require('./JembaConnManager'))();//singleton
const db = jembaConnManager.db['reader-storage'];
const srcDbPath = `${config.dataDir}/reader-storage.sqlite`;
if (!await fs.pathExists(srcDbPath)) {
log(LM_WARN, ' Source DB does not exist, nothing to do');
return;
}
const rows = await db.select({table: 'storage', count: true});
if (rows.length && rows[0].count != 0) {
log(LM_WARN, ' Destination table already exists, nothing to do');
return;
}
const dbSrc = await storagePool.get();
try {
const rows = await dbSrc.all(`SELECT * FROM storage`);
await db.insert({table: 'storage', rows});
log(` Inserted ${rows.length} items`);
} finally {
dbSrc.ret();
}
} finally {
log('Converter finish');
}
}
}
module.exports = Converter;

View File

@@ -49,6 +49,10 @@ async function init() {
const jembaConnManager = new (require('./db/JembaConnManager'))();//singleton
await jembaConnManager.init(config);
//converter SQLITE => JembaDb
const converter = new (require('./db/Converter'))();
await converter.run(config);
}
async function main() {
@@ -110,9 +114,9 @@ async function main() {
await main();
} catch (e) {
if (log)
log(LM_FATAL, e);
log(LM_FATAL, e.stack);
else
console.error(e);
console.error(e.stack);
ayncExit.exit(1);
}
})();