有没有人遇到mysql的问题,从来没有调用池化查询回调?
我正在创建一个池,然后用它来执行这样的多个查询:
const mysql = require('mysql')
const config = {
mysql: {host: ..., user: ..., password: ...},
...
}
config.mysql.connectionLimit = 20
let pool = mysql.createPool(config.mysql)
...further down in my test code
const toDelete = [
'test_db_2017-03-22_11-10-21',
'test_db_2017-03-21_11-10-21',
'test_db_2016-03-21_11-10-21',
'test_db_2015-03-21_11-10-21',
'test_db_2014-03-21_11-10-21',
'test_db_2013-03-21_11-10-21',
]
const deleteTargetsCreated = toDelete.map(dbname => {
return new Promise((resolve, reject) => {
pool.getConnection((error, connection) => {
if(error) return reject(error)
connection.query(`CREATE DATABASE IF NOT EXISTS \`${dbname}\``, (error, rows, fields) => {
connection.release()
if(error) return reject()
resolve()
})
})
})
})
Promise.all(deleteTargetsCreated).then(...).catch(...)
我永远不会接到connection.query
电话的回叫。我也没有得到任何错误信息,就像我失踪了一样,默默无闻。
我正在使用版本2.14.0的mysql包。