Гнездо JS, используя typeorm на провайдеров - PullRequest
1 голос
/ 07 апреля 2020

Я хочу сделать провайдера, который запрашивает сущность из БД. (что меня на самом деле интересует, так это сделать typeorm доступным при создании провайдера). Я получаю

[ExceptionHandler] Connection "default" was not found. - {"trace":"ConnectionNotFoundError: Connection \"default\" was not found.\n

Я пытался использовать сервис, используя собственный репозиторий, ничего не работает. У меня есть что-то вроде этого в модуле:

{
      provide: MICROSERVICE_ID,
      useFactory: async (): Promise<Microservice> => {
        //ignore logic
        return await getRepository(Microservice).findOne(1);
      },
      inject: []
    }

TypeOrm импортируется в app.module.ts

TypeOrmModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: async (configService: ConfigService) => (configService.get('database'))
    }),

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Исправлено путем введения соединения из typeorm.

import { getRepository, Connection } from 'typeorm';
{
      provide: MICROSERVICE_ID,
      useFactory: async (): Promise<Microservice> => {
        //ignore logic
        return await getRepository(Microservice).findOne(1);
      },
      inject: [Connection]
    }
0 голосов
/ 07 апреля 2020

Проверьте файл вашей базы данных. Сущность может не загружаться должным образом. Для новейшей версии Nest JS. Мы должны загрузить с ./dist/

...