Estou tentando descobrir como estruturar meu aplicativo para usar o MySQL da maneira mais eficiente. Estou usando o módulo node-mysql. Outros tópicos aqui sugeriram o uso de pool de conexão, então eu configurei um pequeno módulo mysql.js
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
Agora, sempre que eu quiser consultar o mysql, eu exijo este módulo e, em seguida, consulte o banco de dados
var mysql = require('../db/mysql').pool;
var test = function(req, res) {
mysql.getConnection(function(err, conn){
conn.query("select * from users", function(err, rows) {
res.json(rows);
})
})
}
Essa é uma boa abordagem? Eu realmente não consegui encontrar muitos exemplos de uso de conexões mysql além de um muito simples onde tudo é feito no script app.js principal, então eu realmente não sei quais são as convenções / melhores práticas.
Devo sempre usar connection.end () após cada consulta? E se eu esquecer em algum lugar?
Como reescrever a parte de exportações do meu módulo mysql para retornar apenas uma conexão, então eu não tenho que escrever getConnection () todas as vezes?
connection.querytudo em meu código" - provavelmente é hora de refatorar. Criar uma classe de abstração de banco de dados que ofereceselect,insert,update, etc - e só usarconnection(oupool) dentro dessa única classe db ...