Drizzle ORM (integration officielle)

NestJS 🟡 Mid

Dé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.
#core#interview

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre