From c8667dc14262ed8ac691b900565e581b5972efd8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 7 Apr 2025 09:38:08 -0600 Subject: [PATCH] for root async, config module global --- src/alumnos/alumnos.module.ts | 31 +++++++++++++++++++++++++++++-- src/app.module.ts | 4 +++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/alumnos/alumnos.module.ts b/src/alumnos/alumnos.module.ts index 788b59f..9a4935d 100644 --- a/src/alumnos/alumnos.module.ts +++ b/src/alumnos/alumnos.module.ts @@ -3,11 +3,33 @@ import { TypeOrmModule } from '@nestjs/typeorm'; import { AlumnosController } from './alumnos.controller'; import { AlumnosService } from './alumnos.service'; import { RegistroAlumno } from './entities/registro-alumno.entity'; +import { ConfigService } from '@nestjs/config'; @Module({ imports: [ TypeOrmModule.forFeature([RegistroAlumno], 'alumnosConnection'), - TypeOrmModule.forRoot({ + + + TypeOrmModule.forRootAsync({ + name: 'alumnosConnection', + useFactory: (configService: ConfigService) => ({ + type: 'mysql', + host: configService.get('ALUMNOS_DB_HOST'), + port: Number(configService.get('ALUMNOS_DB_PORT')), + username: configService.get('ALUMNOS_DB_USERNAME'), + password: configService.get('ALUMNOS_DB_PASSWORD'), + database: configService.get('ALUMNOS_DB_DATABASE'), + entities: [RegistroAlumno], + synchronize: false, + retryAttempts: 10, + retryDelay: 3000, + connectTimeout: 30000, + }), + inject: [ConfigService], + }), + + + /* TypeOrmModule.forRoot({ name: 'alumnosConnection', type: 'mysql', host: process.env.ALUMNOS_DB_HOST , @@ -17,7 +39,12 @@ import { RegistroAlumno } from './entities/registro-alumno.entity'; database: process.env.ALUMNOS_DB_DATABASE , entities: [RegistroAlumno], synchronize: false, - }), + + retryAttempts: 10, // Intentos para reconectar + retryDelay: 3000, // Tiempo entre reintentos + connectTimeout: 30000, // Timeout de conexión (30 segundos) │ │ + + }), */ ], controllers: [AlumnosController], providers: [AlumnosService], diff --git a/src/app.module.ts b/src/app.module.ts index 78b893c..8b95158 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -29,7 +29,9 @@ import { AlumnosModule } from './alumnos/alumnos.module'; @Module({ imports: [ - ConfigModule.forRoot(), + ConfigModule.forRoot({ + isGlobal: true, + }), TypeOrmModule.forRoot({ type: 'mysql',