Guys, i know that question like asked about 100k+ times, but i feels like i did everything right and thats not working for me.
typeorm.module.ts
@Module({
providers: [
{
provide: typeorm.DataSource,
async useFactory(configService: ConfigService<EnvironmentVariables>) {
const databaseUrl = configService.get('DATABASE_URL')
const connection = await createAppDataSource(databaseUrl)
return connection
},
inject: [ConfigService],
},
],
exports: [typeorm.DataSource],
})
export class TypeormModule {}
repositories.module.ts
@Module({
imports: [TypeormModule],
providers: [UsersRepository],
})
export class RepositoriesModule {}
users.repository.ts
@Injectable()
export class UsersRepository extends UsersRepositoryTypeorm {
constructor(@Inject() typeorm: typeorm.DataSource) {
super(typeorm)
}
}
app.module.ts
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: resolve(__dirname, '..', '.env'),
expandVariables: true,
isGlobal: true,
}),
AuthModule,
TypeormModule,
RepositoriesModule,
],