dev1/backend/config/mysqlPool.js

30 lines
913 B
JavaScript

// backend/config/mysqlPool.js
import mysql from 'mysql2/promise';
import dotenv from 'dotenv';
import { fileURLToPath } from 'url';
import path from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// load .env.<env>
dotenv.config({ path: path.resolve(__dirname, '..', `.env.${process.env.NODE_ENV || 'development'}`) });
/** decide: socket vs TCP */
let poolConfig;
if (process.env.DB_SOCKET) {
poolConfig = { socketPath: process.env.DB_SOCKET };
} else {
poolConfig = {
host : process.env.DB_HOST || '127.0.0.1',
port : process.env.DB_PORT || 3306,
user : process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || '',
};
}
poolConfig.database = process.env.DB_NAME || 'user_profile_db';
poolConfig.waitForConnections = true;
poolConfig.connectionLimit = 10;
export default mysql.createPool(poolConfig);