Retour à la leçon
Mission

Mission : un lookup par email qui masque un doublon de données

Diagnostiquer pourquoi .first() masque un problème de données, puis corriger la requête pour qu'elle échoue bruyamment en cas de doublon.

Contexte

Le code d'authentification fait session.execute(select(Utilisateur).where(Utilisateur.email == email)).first(). La colonne email n'est PAS déclarée unique=True en base. Un incident récent a révélé qu'un même email existait en double, et que le mauvais compte était systématiquement retourné à la connexion, sans aucune erreur visible.