using sql - kvr2277/vinCloud GitHub Wiki
'use strict'; const mysql = require('mysql');
let sqlConnection = function sqlConnection(sql, values, next) {
// It means that the values hasnt been passed if (arguments.length === 2) { next = values; values = null; } /* * @sqlConnection * Creates the connection, makes the query and close it to avoid concurrency conflicts. */ let connection = mysql.createConnection({
host: 'host',
port: 'port',
user: 'user',
password: 'password',
database: 'schemaname',
});
connection.connect(function(err) { if (err !== null) { console.log('[MYSQL] Error connecting to mysql:' + err + '\n'); } });
connection.query(sql, values, function(err) {
connection.end(); // close the connection
if (err) {
throw err;
}
// Execute the callback
next.apply(this, arguments);
}); };
let queryMaria = function(sql, values) { return new Promise((resolve, reject) => {
// Do async job
sqlConnection(sql, values, function(err, resp) {
if (err) {
console.log('err ', err);
reject(err);
} else {
resolve(resp);
}
});
}); };
module.exports = { queryMaria, };
Sequelize
'use strict'; const db = {}; const Sequelize = require('sequelize'); const sequelize = new Sequelize('schemaname', 'user', 'password', { host: 'host', dialect: 'mysql', operatorsAliases: false,
pool: { max: 4, min: 1, acquire: 40000, idle: 20000, }, define: { timestamps: false, }, });
db.sequelize = sequelize; db.Sequelize = Sequelize;
// Import Models such that we can use them in the api just by importing 'db' db.TableName = require('./models/TABLE_NAME')(sequelize, Sequelize);
module.exports = db;