Drizzle ORM (integration officielle)
NestJS 🟡 MidDéfinition
Intégration officielle @nestjs/drizzle documentée sur docs.nestjs.com. Contrairement a TypeORM, Drizzle n'a pas d'étape forFeature() par table : DrizzleModule.forRootAsync() enregistre la base globalement et l'instance s'injecte partout via @InjectDrizzle().
Analogie
Comme une arrivée d'eau commune a tout un immeuble plutôt qu'un compteur par appartement : un seul enregistrement global, injectable partout.
Exemple de code
DrizzleModule.forRootAsync({
useFactory: (config: ConfigService) => ({
drizzle,
connection: config.getOrThrow<string>('DATABASE_URL'),
}),
inject: [ConfigService],
});
constructor(@InjectDrizzle() private db: NodePgDatabase) {}
Cas d'usage
Adopter un ORM TypeScript-first, sans décorateurs ni génération de code, avec un typage inféré du schema.
Anti-pattern
Répliquer le pattern forFeature() de TypeORM avec Drizzle, qui n'en a pas besoin.
Termes liés
Sources
Fiche mise à jour le 2026-09-27