Seeding

NestJS 🟡 Mid

Definition

Processus de remplissage de la base de donnees avec des donnees initiales ou de test. Execute via des scripts ou des modules dedies au demarrage.

Analogie

Comme meubler un appartement temoin : tu prepares des donnees 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: 'admin@app.com', role: 'admin' });
    }
  }
}

Cas d'usage

Initialiser les roles, permissions ou comptes admin lors du premier deploiement.

Anti-pattern

Seeder en production sans verifier si les donnees existent deja, causant des doublons.
#database