Vladddosss
@Vladddosss

Nest js выдаёт ошибку при использовании TypeOrm, ERROR [ExceptionHandler] getaddrinfo ENOTFOUND localhost как исправить?

Добрый день.

Nest js выдаёт ошибку при использовании TypeOrm,
ERROR [ExceptionHandler] getaddrinfo ENOTFOUND localhost
как исправить?

@Module({
  imports: [
    ConfigModule.forRoot({
      envFilePath: [`.${process.env.NODE_ENV}.env`],
      load: [getTypeOrmConfig],
    }),
    TypeOrmModule.forRootAsync({
      imports: [ConfigModule],
      inject: [ConfigService],
      useFactory: async (configService: ConfigService) => {
        console.log(
          configService.get('POSTGRES_HOST'),
          configService.get('database'),
          process.env.POSTGRES_HOST,
          '111',
        );

        return {
          ...configService.get('database'),
        };
      },
    }),
  ],
  controllers: [],
  providers: [],
})


const getTypeOrmConfig = () => ({
  database: {
    type: 'postgres',
    host: process.env.POSTGRES_HOST,
    port: +process.env.POSTGRES_PORT || 5432,
    username: 'postgres',
    password: '123',
    database: process.env.POSTGRES_DB,
    entities: [UserEntity],
    synchronize: process.env.NODE_ENV === 'development',
  },
});


В консоли выводит значения переменных.
Если пишу так, тоже переменные видны
useFactory: async (configService: ConfigService) => {
        console.log(
          configService.get('POSTGRES_HOST'),
          configService.get('database'),
          process.env.POSTGRES_HOST,
          '111',
        );

        return {
           type: 'postgres',
           host: configService.get('POSTGRES_HOST'),
           port: +process.env.DB_PORT || 5432,
           username: 'postgres',
           password: '123',
           database: configService.get('POSTGRES_DB'),
           entities: [UserEntity, PasswordResetsEntity, AuthSessionsEntity],
           synchronize: process.env.NODE_ENV === 'development',
        };
      },


Но всегда выдаёт ошибку, с чем это связано?
Если пишу напрямую без конфига - всё работает.
  • Вопрос задан
  • 238 просмотров
Решения вопроса 1
Vladddosss
@Vladddosss Автор вопроса
Оказалась опечатка .env файле.

// было написано с запятой и значение подтягивалось вместе с ней
POSTGRES_HOST=localhost,
// запятых быть не должно
POSTGRES_HOST=localhost
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы