如何使用2个独立的数据库,一个用于写入端,另一个用于读取端。 (通过eventbus同步的两个数据库)

问题描述 投票:1回答:1

我正在使用@nestjs/cqrs模块。如何使用两个单独的数据库,一个用于写入端,另一个用于读取端。 (通过eventbus同步的两个数据库)

谢谢

javascript node.js typescript cqrs nestjs
1个回答
0
投票

使用typeorm,您可以通过提供连接名称来指定多个数据库(如果未指定名称,则将使用默认连接):

@Module({
  imports: [
    TypeOrmModule.forRoot({
      ...defaultOptions,
      name: 'WriteConnection',
      host: 'write_db_host',
      entities: [WriteEntity],
    }),
    TypeOrmModule.forRoot({
      ...defaultOptions,
      name: 'readConnection',
      host: 'read_db_host',
      entities: [ReadEntity],
    }),
  ],
})
export class ApplicationModule {}

然后在功能模块中,通过指定连接名称导入实体:

@Module({
  imports: [
    TypeOrmModule.forFeature([ReadEntity], 'readConnection'),
    TypeOrmModule.forFeature([WriteEntity], 'writeConnection'),
  ],
})
export class FeatureModule {}

有关更多信息,请参阅docs

© www.soinside.com 2019 - 2024. All rights reserved.