Fix MikroORM migrations and create initial migration

Co-authored-by: mrjvs <mistrjvs@gmail.com>
This commit is contained in:
William Oldham
2023-11-04 15:09:20 +00:00
parent 71afd9b101
commit dc1f46b5de
8 changed files with 1007 additions and 73 deletions

View File

@@ -16,6 +16,7 @@ export async function updateMetrics(em: EntityManager, metrics: Metrics) {
>();
metrics.user.reset();
users.forEach((v) => {
metrics?.user.inc({ namespace: v.namespace }, Number(v.count));
});

View File

@@ -1,17 +1,24 @@
import { Options } from '@mikro-orm/core';
import { MikroORM, PostgreSqlDriver } from '@mikro-orm/postgresql';
import path from 'path';
export async function createORM(url: string, log: (msg: string) => void) {
return await MikroORM.init<PostgreSqlDriver>({
export function makeOrmConfig(url: string): Options<PostgreSqlDriver> {
return {
type: 'postgresql',
clientUrl: url,
entities: ['./models/**/*.js'],
entitiesTs: ['./models/**/*.ts'],
baseDir: path.join(__dirname, '../../db'),
migrations: {
pathTs: './migrations/**/*.ts',
path: './migrations/**/*.ts',
pathTs: './migrations',
path: './migrations',
},
};
}
export async function createORM(url: string, log: (msg: string) => void) {
return await MikroORM.init<PostgreSqlDriver>({
...makeOrmConfig(url),
logger: log,
});
}