@jrosadob/nestjs-sophia-framework
Version:
Franework para microservicios en NestJS
35 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.databaseProviders = void 0;
const typeorm_1 = require("typeorm");
const providers_1 = require("./providers");
const config_module_1 = require("../config/config.module");
const config_service_1 = require("../config/config.service");
const logger_1 = require("../logger/logger");
const logger_module_1 = require("../logger/logger.module");
const typeorm_logger_service_1 = require("../logger/typeorm-logger.service");
exports.databaseProviders = [
{
provide: providers_1.Providers.DATA_SOURCE,
imports: [config_module_1.ConfigModule, logger_module_1.LoggerModule],
inject: [config_service_1.ConfigService, logger_1.Logger],
useFactory: async (configService, logger) => {
const dataSource = new typeorm_1.DataSource({
type: 'mysql',
host: configService.get('typeorm.mysql.host'),
port: configService.get('typeorm.mysql.port'),
database: configService.get('typeorm.mysql.database'),
username: configService.get('typeorm.mysql.username'),
password: configService.get('typeorm.mysql.password'),
entities: [__dirname + './../**/entities/*.entity.{js,ts}'],
synchronize: false,
logging: true,
logger: new typeorm_logger_service_1.TypeOrmLoggerService(logger),
});
const data = await dataSource.initialize();
logger.log('Database connection established', 'DatabaseProvider');
return data;
},
},
];
//# sourceMappingURL=database.provider.js.map