exchangemarket/setup/create-schema.js
2021-10-16 00:19:26 +05:30

37 lines
1.4 KiB
JavaScript

const fs = require('fs');
let Database = require('../src/database');
function createSchema(app = true) {
const config = require('../args/' + (app ? 'app' : 'backup') + "-config.json");
return new Promise((resolve, reject) => {
fs.readFile(__dirname + '/../args/schema.sql', 'utf8', (err, data) => {
if (err) {
console.error(err);
return reject(null);
}
Database(config["sql_user"], config["sql_pwd"], config["sql_db"], config["sql_host"]).then(DB => {
let txQueries = data.split(';');
txQueries.pop();
txQueries = txQueries.map(q => q.trim().replace(/\n/g, ' '));
console.log(txQueries);
DB.transaction(txQueries).then(_ => {
console.log('SQL Schema created successfully!');
resolve(true);
}).catch(error => {
console.error(error.message);
console.log('SQL Schema creation failed! Check user permission');
reject(true);
});
}).catch(error => {
console.error(error);
console.log('Unable to connect to MySQL database! Check user permission');
reject(false);
});
});
});
}
if (!module.parent)
createSchema().then(_ => null).catch(_ => null);
else
module.exports = createSchema;