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