我正在使用NX
个Monorepo和NestJs
个应用程序(auth-service
、other-service
等).
我还创建了用于存储迁移libs/database.migrations
的分离库和用于MikroORM
初始化的另一个库libs/database.mikro-orm
(可重复使用).
库database.mikro-orm
应导入到其他应用程序或库中以连接到数据库.主要的障碍是,当我将DatabaseMikroOrmModule
导入身份验证服务AppModule
时,我希望将所有实体传递给DatabaseMikroOrmModule
并动态添加到MikroOrmModule > entities
.
下面是我的DatabaseMikroOrmModule
美元的样子:
import { Module } from '@nestjs/common';
import { MikroOrmModule } from '@mikro-orm/nestjs';
@Module({
imports: [
MikroOrmModule.forRoot({
entities: [ /* ENTITIES PASSED FROM OTHER APPS OR LIBS SHOULD GO HERE */],
dbName: 'experimental-db',
type: 'postgresql',
}),
],
...
})
export class DatabaseMikroOrmModule {
public static setEntities(entities) {
/* MAY BE SOMEHOW ADD THEM FROM HERE */
}
}
在该应用程序中:
import { DatabaseMikroOrmModule } from '@database.mikro-orm';
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [DatabaseMikroOrmModule.setEntities([UserEntity, RoleEntity])],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
我希望我的解释足够清楚.
有什么主意吗?