feat: initial import — ClickerZ formation project (Express + React/Vite)
This commit is contained in:
36
Backend/database/client.js
Executable file
36
Backend/database/client.js
Executable file
@@ -0,0 +1,36 @@
|
||||
// Get variables from .env file for database connection
|
||||
const { DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME } = process.env;
|
||||
|
||||
// Create a connection pool to the database
|
||||
const mysql = require("mysql2/promise");
|
||||
|
||||
const client = mysql.createPool({
|
||||
host: DB_HOST,
|
||||
port: DB_PORT,
|
||||
user: DB_USER,
|
||||
password: DB_PASSWORD,
|
||||
database: DB_NAME,
|
||||
});
|
||||
|
||||
// Try to get a connection to the database
|
||||
client
|
||||
.getConnection()
|
||||
.then((connection) => {
|
||||
console.info(`Using database ${DB_NAME}`);
|
||||
|
||||
connection.release();
|
||||
})
|
||||
.catch((error) => {
|
||||
console.warn(
|
||||
"Warning:",
|
||||
"Failed to establish a database connection.",
|
||||
"Please check your database credentials in the .env file if you need a database access."
|
||||
);
|
||||
console.error("Error message:", error.message);
|
||||
});
|
||||
|
||||
// Store database name into client for further uses
|
||||
client.databaseName = DB_NAME;
|
||||
|
||||
// Ready to export
|
||||
module.exports = client;
|
||||
Reference in New Issue
Block a user