Add MySQL socket support

This commit is contained in:
Djuri Baars
2022-03-13 14:57:17 +01:00
parent 1052b19fae
commit 7fd9e27cc2
4 changed files with 27 additions and 9 deletions

View File

@@ -1,17 +1,29 @@
import config from './config';
import { createPool, PoolConnection } from 'mysql2/promise';
import logger from './logger';
import { PoolOptions } from 'mysql2/typings/mysql';
export class DB {
static pool = createPool({
host: config.DATABASE.HOST,
port: config.DATABASE.PORT,
database: config.DATABASE.DATABASE,
user: config.DATABASE.USERNAME,
password: config.DATABASE.PASSWORD,
connectionLimit: 10,
supportBigNumbers: true,
});
static poolConfig = ():PoolOptions => {
let poolConfig:PoolOptions = {
port: config.DATABASE.PORT,
database: config.DATABASE.DATABASE,
user: config.DATABASE.USERNAME,
password: config.DATABASE.PASSWORD,
connectionLimit: 10,
supportBigNumbers: true,
timezone: '+00:00',
}
if (config.DATABASE.SOCKET)
poolConfig.socketPath = config.DATABASE.SOCKET
else
poolConfig.host = config.DATABASE.HOST
return poolConfig;
}
static pool = createPool(DB.poolConfig());
static connectionsReady: number[] = [];