Seeding

NestJS 🟡 Mid

Définition

Processus de remplissage de la base de données avec des données initiales ou de test. Exécuté via des scripts ou des modules dedies au démarrage.

Analogie

Comme meubler un appartement témoin : tu prepares des données de demo pour que tout soit fonctionnel.

Exemple de code

@Injectable()
export class SeedService implements OnModuleInit {
  constructor(private userService: UserService) {}

  async onModuleInit() {
    const count = await this.userService.count();
    if (count === 0) {
      await this.userService.create({ email: '[email protected]', role: 'admin' });
    }
  }
}

Cas d'usage

Initialiser les roles, permissions ou comptes admin lors du premier déploiement.

Anti-pattern

Seeder en production sans vérifier si les données existent déjà, causant des doublons.
#database

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