Export Node.js SQL connection to multiple ROUTES routes
Motivation
We have an app and we want to divide/organize our folder. We also want to use the database connection on multiple locations without having to re-write the same code millions of times.
Steps
The steps are very simple, we only need to organize them:
- Create in a separate file your DB Connection.
- Require that file on your desired route.
Get the code
File: db.js
var mysql = require('mysql');
// Create connection
function connection() {
const db = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'mySchema'
});
db.connect(function (err) {
if (!err) {
console.log('Database is connected!');
} else {
console.log('Error connecting database!');
}
});
return db;
}
module.exports = connection();
File: routeX.js
dbConnection = require('../config/db.js');
//TEST YOUR DB CONNECTION
dbConnection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});
There is a better way of creating connection than the above, it's called pooling connections, in case someone is interested.
Hope that helps,
Arturo