import config from "config" import { DataSource } from "typeorm" import { User, UserActivity, UserRefreshToken, UserRole, } from "entity" import { ILogObj, Logger } from "tslog" export class OrmHelper { static DB: DataSource = null static setup() { const log: Logger = new Logger({ name: "[OrmHelper]", type: "pretty" }) const engine: "mysql" | "postgres" = config.get("database.engine") OrmHelper.DB = new DataSource({ type: engine, host: config.get("database.host"), port: Number(config.get("database.port")), username: String(config.get("database.username")), password: String(config.get("database.password")), database: String(config.get("database.database")), synchronize: true, logging: config.get("database.logging"), entities: [ User, // UserRole, UserActivity, UserRefreshToken, ], subscribers: [], migrations: [], }) OrmHelper.DB.initialize() .then(() => { // here you can start to work with your database }) .catch((error: any) => log.error(error)) } }