NestJs 中连接数据库时出错

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

在nestJs中,我想连接两个数据库,我有问题 我有两个独立的数据库,每个数据库本身都存储一系列数据,都是mysql,但是当我定义实体时,它给出了无法识别这两个数据库的错误。

 imports: [
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: 'password',
      database: 'users_db',
      entities: [__dirname + '//*.entity{.ts,.js}'],
      synchronize: true,
    }),
    TypeOrmModule.forRoot({
      type: 'mysql',
      host: 'localhost',
      port: 3306,
      username: 'root',
      password: 'password',
      database: 'products_db',
      entities: [__dirname + '//*.entity{.ts,.js}'],
      synchronize: true,
    }),
    UsersModule,
    ProductsModule,
  ],```

这是我的错误

EntityMetadataNotFoundError:找不到“产品”的元数据

mysql typeorm nest
1个回答
0
投票

如果你想在nestjs中连接2个不同的数据库,你需要这样做:

imports: [
TypeOrmModule.forRoot({
  name: 'default',
  type: 'mysql',
  host: 'localhost',
  port: 3306,
  username: 'root',
  password: 'password',
  database: 'users_db',
  entities: [__dirname + '/**/*.entity{.ts,.js}'],
  synchronize: true,
}),
TypeOrmModule.forRootAsync({
  name: 'productsConnection',
  useFactory: () => ({
    type: 'mysql',
    host: 'localhost',
    port: 3306,
    username: 'root',
    password: 'password',
    database: 'products_db',
    entities: [__dirname + '/**/*.entity{.ts,.js}'],
    synchronize: true,
  }),
}),
UsersModule,
ProductsModule,

],

如果你想使用它们,请像这样导入它们:

TypeOrmModule.forFeature([YourEntity], 'productsConnection')
© www.soinside.com 2019 - 2024. All rights reserved.