DB 연결 .env 이용 (mysql)

tpids·2024년 10월 10일

project2

목록 보기
1/17

dbConfig.js

// dbConfig.js
require('dotenv').config({ path: '../.env' });  // .env 파일 경로 명시
const mysql = require('mysql2');

const pool = mysql.createPool({
  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,
  waitForConnections: true
});

module.exports = pool.promise();

models/db.js

const pool = require('../config/dbConfig');

const getMySQLConnection = () => pool;

const executeQuery = async (query, params) => {
  const connection = getMySQLConnection();
  try {
    const [results] = await connection.execute(query, params);
    return results;
  } catch (err) {
    console.error('Database query error:', err);
    throw err;
  }
};

module.exports = {
  getMySQLConnection,
  executeQuery
};

.env 파일

DB_HOST=
DB_USER=
DB_PASS=
DB_NAME=
DB_PORT=

연결 테스트
testDbConnection.js

require('dotenv').config(); 

const db = require('./dbConfig');

console.log('DB_HOST:', process.env.DB_HOST);
console.log('DB_USER:', process.env.DB_USER);
console.log('DB_PASS:', process.env.DB_PASS);
console.log('DB_NAME:', process.env.DB_NAME);
console.log('DB_PORT:', process.env.DB_PORT);

async function testConnection() {
    try {
        const [rows] = await db.query('SELECT 1 + 1 AS solution');
        console.log('Connection successful:', rows[0].solution);
    } catch (error) {
        console.error('Database connection failed:', error);
    }
}

testConnection();

2가 나오면 정상적으로 연결 확인

profile
개발자

0개의 댓글