const mysql = require('koa-mysql')
|
const config = require('../config.js')
|
const pool = mysql.createPool(config.mysql_config)
|
const pool_remote = mysql.createPool(config.db_remote)
|
const pool_remote_server = mysql.createPool(config.db_remote_server)
|
const pool_map = {'master':pool,'remserver':pool_remote_server, 'remote':pool_remote}
|
|
let query = function(sql, values) {
|
console.log(sql)
|
return new Promise((resolve, reject) => {
|
pool.getConnection(function(err, connection) {
|
if (err) {
|
reject(err)
|
} else {
|
connection.query(sql, values, (err, rows) => {
|
if (err) {
|
reject(err)
|
} else {
|
resolve(rows)
|
}
|
connection.release()
|
})
|
}
|
})
|
})
|
}
|
|
/**
|
* 执行并返回LAST_INSERT_ID, 用于插入后返回自增id => new_id
|
* @param {*} sql
|
* @param {*} values
|
*/
|
let queryNewId = function(sql, values) {
|
console.log(sql)
|
return new Promise((resolve, reject) => {
|
pool.getConnection(function(err, connection) {
|
if (err) {
|
reject(err)
|
} else {
|
connection.query(sql, values, (err, rows) => {
|
if (err) {
|
reject(err)
|
} else {
|
connection.query(
|
`select LAST_INSERT_ID() as new_id;`,
|
values,
|
(err, rows) => {
|
resolve(rows)
|
}
|
)
|
}
|
connection.release()
|
})
|
}
|
})
|
})
|
}
|
|
let queryproc = function(sql, values) {
|
console.log(sql)
|
return new Promise((resolve, reject) => {
|
pool.getConnection(function(err, connection) {
|
if (err) {
|
reject(err)
|
} else {
|
connection.query(sql, function(err, results) {
|
if (err) {
|
throw err;
|
}
|
console.log('********************************************')
|
console.log(results)
|
resolve(results)
|
connection.release()
|
})
|
}
|
})
|
})
|
}
|
|
let query_data = function(sql, remote_db, values) {
|
console.log(sql,remote_db,values)
|
return new Promise((resolve, reject) => {
|
pool.getConnection(function(err, connection) {
|
if (err) {
|
reject(err)
|
} else {
|
connection.query(sql, values, (err, rows) => {
|
if (err) {
|
console.log(`********************************error${err}*****************`)
|
reject(err)
|
} else {
|
resolve(rows)
|
}
|
connection.release()
|
})
|
}
|
})
|
})
|
}
|
|
module.exports = {
|
query,
|
queryNewId,
|
queryproc,
|
query_data
|
}
|
|