Files
bowlingManager/backend/config/database.js
T
2025-04-22 20:19:17 +09:00

50 lines
1.1 KiB
JavaScript

const { Sequelize } = require('sequelize');
const path = require('path');
// 환경 변수 설정
const env = process.env.NODE_ENV || 'development';
const envPath = path.resolve(process.cwd(), `.env.${env}`);
// 환경별 .env 파일 로드
require('dotenv').config({
path: envPath
});
const sequelize = new Sequelize(
process.env.DB_NAME,
process.env.DB_USER,
process.env.DB_PASSWORD,
{
host: process.env.DB_HOST,
port: process.env.DB_PORT,
dialect: 'mysql',
logging: process.env.NODE_ENV === 'development' ? console.log : false, // 개발 환경에서만 로깅 활성화
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
define: {
charset: 'utf8mb4',
collate: 'utf8mb4_unicode_ci',
timestamps: true
}
}
);
// 데이터베이스 연결 테스트
const testConnection = async () => {
try {
await sequelize.authenticate();
console.log('데이터베이스 연결 성공!');
} catch (error) {
console.error('데이터베이스 연결 실패:', error);
}
};
module.exports = {
sequelize,
testConnection
};