Добрый день.
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',
};
},
Но всегда выдаёт ошибку, с чем это связано?
Если пишу напрямую без конфига - всё работает.