Skip to content

Instantly share code, notes, and snippets.

@paulodutra
Last active August 11, 2024 17:07
Show Gist options
  • Save paulodutra/8eddf6577ef2d5c8cbb7ea2b3c716207 to your computer and use it in GitHub Desktop.
Save paulodutra/8eddf6577ef2d5c8cbb7ea2b3c716207 to your computer and use it in GitHub Desktop.
Mysql Database module with providers and exports
import { Module } from '@nestjs/common';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { mysqlDatabaseConfig } from '@/main/config/database/mysql-database.config';
import { TaskRepository } from '@/infrastructure/database/repositories/task.repository';
import { TaskSeedService } from '@/infrastructure/database/seeds/task-seed-service';
import { Task } from '@/infrastructure/database/entities/task.entity';
@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
load: [mysqlDatabaseConfig],
}),
TypeOrmModule.forRootAsync({
inject: [ConfigService],
useFactory: (configService: ConfigService): TypeOrmModuleOptions =>
configService.get<TypeOrmModuleOptions>('database.mysql'),
}),
TypeOrmModule.forFeature([Task]),
],
providers: [TaskRepository, TaskSeedService],
exports: [TaskSeedService],
})
export class MysqlModule {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment