31 lines
701 B
JavaScript
31 lines
701 B
JavaScript
// config/db.js
|
|
const mysql = require('mysql2/promise');
|
|
require('dotenv').config();
|
|
|
|
class Database {
|
|
constructor() {
|
|
this.pool = mysql.createPool({
|
|
host: process.env.DB_HOST,
|
|
user: process.env.DB_USER,
|
|
password: process.env.DB_PASSWORD,
|
|
database: process.env.DB_DATABASE,
|
|
waitForConnections: true,
|
|
connectionLimit: 10,
|
|
queueLimit: 0,
|
|
});
|
|
}
|
|
|
|
async execute(query, values) {
|
|
const connection = await this.pool.getConnection();
|
|
try {
|
|
const [rows] = await connection.execute(query, values);
|
|
return rows;
|
|
} catch (error) {
|
|
throw error;
|
|
} finally {
|
|
connection.release();
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = Database; |