123456789101112131415161718192021222324252627282930313233343536373839404142 |
- //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 (found ${rows[0].count} items), 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;
|