티스토리 뷰

config/database.js 파일을 아래와 같이 적어 보았다.

 

mariadb로 연결하는 소스코드이다.

const mariadb = require('mariadb');

const pool = mariadb.createPool({
    host: process.env.DB_HOST,
    port: process.env.DB_PORT || 3306,  // DB_PORT 추가, 기본값 3306
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_NAME,
    connectionLimit: 5,
    connectTimeout: 10000,  // 연결 타임아웃 10초
    acquireTimeout: 10000,  // 풀에서 연결 획득 타임아웃 10초
    waitForConnections: true,
    queueLimit: 0
});

module.exports = {
    connect: async function() {
        try {
            const connection = await pool.getConnection();
            console.log('Successfully connected to the database.');
            connection.release();
        } catch (error) {
            console.error('Unable to connect to the database:', error);
            throw error;
        }
    },
    getConnection: async function() {
        try {
            return await pool.getConnection();
        } catch (error) {
            console.error('Error getting database connection:', error);
            throw error;
        }
    },
    getPool: function() {
        return pool;
    }
};
댓글