Как правильно сбросить подключение к пулу с новыми учетными данными, используя узел mysql?
У меня есть файл базы данных, который работает нормально:
let pool = mysql.createPool(credentials);
export function dosql(sqlQuery) {
return new Promise((resolve, reject) => {
pool.getConnection((connErr, connection) => {
if(connErr) return reject(connErr);
connection.query(sqlQuery, (queryErr, result, fields) => {
connection.release(); // return connection to pool
if (!queryErr) {
return resolve(result);
}
return reject(queryErr);
});
});
});
}
Я хочу дать своим пользователямчтобы изменить учетные данные, поэтому я написал функцию:
function dbReset(){
if(pool){
pool.end();
}
try {
pool = mysql.createPool(newCredentials);
} catch(err) {
console.log(err);
}
}
Но каждый раз, когда я запускаю dbReset (), он работает (создает новый пул), но вызывает некоторые странные условия гонки в моем приложении (я думаю).
Вполне возможно, что ошибка возникает в другом месте, но перед тем, как закрыть эти кроличьи норы, я хотел проверить правильность описанного выше способа сброса пула с новыми учетными данными.
РЕДАКТИРОВАТЬ:
Кажется, я решил некоторые из моих проблем, используя:
function dbReset(){
pool = mysql.createPool(newCredentials);
}
По существу удаление pool.end () ... делая меняинтересно, если это необходимо?