nowindxdw
11/2/2017 - 12:56 AM

use knex in for loop err

wrong way :
for(....){
  getMoveDataCallback : function( database,tableName , columns , whereStr,callback){
    logger.trace('enter get Move data');
    var db = mysql.createPool(dbConfig);
    var sql = knex.withSchema(database).select(columns)
        .from(tableName).whereRaw(whereStr).toString();
    logger.trace(sql);
    db.query(sql, function (err, results) {
        if (err) {
            logger.error(err);
            callback(err);
        } else {
            callback(null,results);
        }
    });
  }
}

fix:
var db = mysql.createPool(dbConfig);
for(...){
  getMoveDataCallback : function(db, database,tableName , columns , whereStr,callback){
    logger.trace('enter get Move data');
    var sql = knex.withSchema(database).select(columns)
        .from(tableName).whereRaw(whereStr).toString();
    logger.trace(sql);
    db.query(sql, function (err, results) {
        if (err) {
            logger.error(err);
            callback(err);
        } else {
            callback(null,results);
        }
    });
},
}