This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kingdombattles/server/database.js
T
2019-06-07 07:21:12 +10:00

49 lines
947 B
JavaScript

//environment variables
require('dotenv').config();
//libraries
let mysql = require('mysql');
//utilities
let { log } = require('../common/utilities.js');
let connection;
const handleDisconnect = () => {
//use the config
connection = mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS,
database: process.env.DB_NAME,
port: process.env.DB_PORT
});
//connect
connection.connect((err) => {
if (err) {
log('Error connecting to mysql: ', err);
setTimeout(handleDisconnect, 2000);
} else {
log('Connected to mysql');
}
});
//prepare for failure
connection.on('error', (err) => {
log('mysql error: ', err);
if (err.code === 'PROTOCOL_CONNECTION_LOST') {
handleDisconnect();
} else {
throw (err);
}
});
//finally
return connection; //TODO: test that this actually bloody works
};
module.exports = {
connectToDatabase: handleDisconnect
};