J'essaie de comprendre comment structurer mon application pour utiliser MySQL de la manière la plus efficace. J'utilise le module node-mysql. D'autres fils de discussion ici ont suggéré d'utiliser le pooling de connexion, donc j'ai mis en place un petit module mysql.js.
var mysql = require('mysql');
var pool = mysql.createPool({
host : 'localhost',
user : 'root',
password : 'root',
database : 'guess'
});
exports.pool = pool;
Maintenant, chaque fois que je veux interroger mysql, j'ai besoin de ce module et j'interroge la base de données.
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);
})
})
}
Est-ce une bonne approche ? Je n'ai pas vraiment trouvé beaucoup d'exemples d'utilisation de connexions mysql à part un exemple très simple où tout est fait dans le fichier principal app.js script donc je ne sais pas vraiment quelles sont les conventions / les meilleures pratiques.
Dois-je toujours utiliser connection.end() après chaque requête ? Et si je l'oublie quelque part ?
Comment réécrire la partie exports de mon module mysql pour ne retourner qu'une connexion afin de ne pas avoir à écrire getConnection() à chaque fois ?