import DBConnectionProvider from "../DBConnectionProvider"; import MysqlDBConnection from "./MysqlDBConnection"; import mysql, {Pool, PoolConnection} from "mysql2/promise"; export default class MysqlConnectionProvider extends DBConnectionProvider{ public defaultPoolOption:any ={ queueLimit: 0, enableKeepAlive: true, //기본옵션으로 설정해야함 공홈 참조 } public createPool(envKey:string):Pool{ let config = this.getDBConfig(envKey); //기본옵션 추가 적용( mysql2 용) Object.assign(config, this.defaultPoolOption) return mysql.createPool(config); } public async getConnection(pool:Pool):Promise{ const conn = new MysqlDBConnection(pool); const mysqlPool:PoolConnection = await conn.connect() ; conn.conn = mysqlPool; return conn; } }