Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add unique constraint on email_role #56

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

lpofredc
Copy link
Contributor

@lpofredc lpofredc commented Mar 9, 2023

Ajout d'une contrainte d'unicité sur le champ email de la table utilisateurs.t_roles comme évoqué sur cette issue de UsersHub (PnX-SI/UsersHub#122)

fix PnX-SI/UsersHub#122

@codecov
Copy link

codecov bot commented Mar 9, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (0d269c8) 37.67% compared to head (992619f) 37.67%.
Report is 55 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop      #56   +/-   ##
========================================
  Coverage    37.67%   37.67%           
========================================
  Files           12       12           
  Lines          698      698           
========================================
  Hits           263      263           
  Misses         435      435           
Flag Coverage Δ
pytest 37.67% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@camillemonchicourt
Copy link
Member

Peut-être que la migration doit gérer le cas où 2 utilisateurs ont le même email ?
L'indiquer clairement et s’arrêter ?
Ou alors supprimer les emails en doublon, mais ça peut être problématique car on supprimerait des emails sans l'indiquer ?

@mvergez
Copy link

mvergez commented Jun 1, 2023

Je rebondis sur cette PR dans le cadre d'une prestation pour l'Agence Régionale de la Biodiversité en île de France.

Je ne pense pas qu'il faille supprimer les emails en doublon mais plutôt avertir l'administrateur. Si on applique cette migration, on a une erreur du type :

sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) could not create unique index "t_roles_email_un"

Mais sous une backtrace énorme.

Donc :

@camillemonchicourt
Copy link
Member

Pour moi, c'est un soucis que les migrations puissent échouer, et que les administrateurs doivent comprendre pourquoi, et ensuite lancer des commandes Alembic qu'ils ne maîtrisent pas.

@mvergez
Copy link

mvergez commented Jun 2, 2023

Alors il faut les prévenir dans une note de version de GeoNature, je ne vois pas comment on pourrait faire autrement. Parce que même si on met un message le plus clair possible dans alembic, ils ne vont pas savoir comment relancer les migrations.

Qu'en penses-tu ?

@camillemonchicourt
Copy link
Member

Oui

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants