54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import grabDbSSL from "./backend/grabDbSSL";
|
|
import mariadb, { ConnectionConfig } from "mariadb";
|
|
|
|
type Params = {
|
|
useLocal?: boolean;
|
|
dbConfig?: ConnectionConfig;
|
|
ssl?: boolean;
|
|
connectionLimit?: number;
|
|
};
|
|
|
|
export default function setupDSQLDb({
|
|
useLocal,
|
|
dbConfig,
|
|
ssl,
|
|
connectionLimit = 100,
|
|
}: Params) {
|
|
global.DSQL_USE_LOCAL = useLocal || true;
|
|
|
|
const pool = mariadb.createPool({
|
|
host: process.env.DSQL_DB_HOST,
|
|
user: process.env.DSQL_DB_USERNAME,
|
|
password: process.env.DSQL_DB_PASSWORD,
|
|
database: process.env.DSQL_DB_NAME,
|
|
charset: "utf8mb4",
|
|
...dbConfig,
|
|
ssl: ssl ? grabDbSSL() : undefined,
|
|
connectionLimit,
|
|
});
|
|
|
|
global.DSQL_DB_CONN = pool;
|
|
|
|
// let readOnlyConnection;
|
|
|
|
// if (addReadOnlyConn) {
|
|
// readOnlyConnection = mariadb.createPool({
|
|
// host: process.env.DSQL_DB_HOST,
|
|
// user: process.env.DSQL_DB_READ_ONLY_USERNAME,
|
|
// password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
|
|
// database: process.env.DSQL_DB_NAME,
|
|
// charset: "utf8mb4",
|
|
// ...readOnlyDbConfig,
|
|
// ssl: ssl ? grabDbSSL() : undefined,
|
|
// connectionLimit,
|
|
// });
|
|
|
|
// global.DSQL_READ_ONLY_DB_CONN = readOnlyConnection;
|
|
// }
|
|
|
|
return {
|
|
pool,
|
|
// readOnlyConnection,
|
|
};
|
|
}
|