1
0
forked from noxious/server

27 lines
688 B
TypeScript

import { EntityManager } from '@mikro-orm/core'
import { MikroORM } from '@mikro-orm/mysql'
import Logger, { LoggerType } from './logger'
import config from '../../mikro-orm.config'
class Database {
private static orm: MikroORM
private static logger = Logger.type(LoggerType.APP)
public static async initialize(): Promise<void> {
try {
Database.orm = await MikroORM.init(config)
this.logger.info('Database connection initialized')
} catch (error) {
this.logger.error(`MikroORM connection failed: ${error}`)
throw error
}
}
public static getEntityManager(): EntityManager {
return Database.orm.em.fork()
}
}
export default Database