eust-conciliation
Version:
37 lines (28 loc) • 982 B
text/typescript
import { DataSource } from 'typeorm';
import logger from '@zenvia/logger';
// eslint-disable-next-line import/no-mutable-exports
let connection: DataSource;
export const initPostgresDB = async (): Promise<DataSource> => {
const host = process.env.PG_HOST;
const port = Number(process.env.PG_PORT) || 5432;
const username = process.env.PG_USERNAME;
const password = process.env.PG_PASSWORD;
const database = process.env.PG_DATABASE;
logger.info(`Connecting to Postgres instance: [${host}:${port}] - in DB [${database}]`);
connection = new DataSource({
type: 'postgres',
host,
port,
username,
password,
database,
entities: [`${__dirname}/../entities/*{.js,.ts}`],
synchronize: false,
logging: process.env.PG_SHOW_LOGGING === 'true',
migrationsRun: false,
});
await connection.initialize();
logger.info('Connected to Postgres DB');
return connection;
};
export const getPGConnection = (): DataSource => connection;