PnX-SI/UsersHub

[2.2.1] modif en BD et UsersHub-authentification-module

Splendens opened this issue · 3 comments

Je viens de tenter de passer à UH 2.2.1, et en ouvrant le site, j'ai l'erreur suivante :

{"type": "Exception", "msg": "ProgrammingError("(psycopg2.errors.UndefinedColumn) ERREUR: la colonne bib_organismes.additional_data n'existe pas\nLINE 1: ..._parent AS utilisateurs_bib_organismes_id_parent, utilisateu...\n ^\n")"}

Et effectivement, il n'y a pas de champ additional_data dans la table utilisateurs.bib_organismes.
J'ai cherché dans les scripts de migration précédents au cas où j'aurais loupé cette modification en BD, mais je n'ai rien trouvé.

L'ajout de ce champ est bien dans UsersHub-authentification-module (https://github.com/PnX-SI/UsersHub-authentification-module/blob/3f26405e8130dba4bbef13d0001538675726db71/src/pypnusershub/migrations/versions/830cc8f4daef_add_additional_data_field_to_organism.py#L23), donc il y a quelque chose que j'ai dû mal comprendre pour passer à UH 2.2.x...

Est-ce qu'il faut faire une installation UsersHub-authentification-module en plus ? Ou peut-être que j'ai raté un script de modification de la base, ou autre chose ?

OK c'est normal, tu n'as rien loupé.
C'est lié au fait que quand on utilise GeoNature, la migration des schémas utilisateurs et taxonomie sont désormais gérés par les migrations Alembic de GeoNature.
Mais la version de GeoNature qui intègre ces migrations est en cours de sortie (https://github.com/PnX-SI/GeoNature/blob/master/docs/CHANGELOG.rst).

C'est ce qui est fait dans cette partie des notes de version :

Si vous n’utilisez pas GeoNature, vous devez appliquer les évolutions du schéma utilisateurs depuis UsersHub :

    Se placer dans le dossier de UsersHub : cd ~/usershub
    Sourcer le virtualenv de UsersHub : source venv/bin/activate
    Indiquer à Alembic que vous possédez déjà la version 1.4.7 du schéma utilisateurs, UsersHub 2.1.3 et les données d’exemples : flask db stamp f63a8f44c969
    Appliquer les révisions du schéma utilisateurs : flask db upgrade utilisateurs@head

On est en train de voir comment articuler au mieux les migrations de GeoNature avec celles de UsersHub et de TaxHub, avec l'utilisation d'Alembic qui permet de les simplifier et automatiser, mais nécessite encore quelques calages de notre côté.

Ah ok, merci Camille !
Avant de tester, je vais attendre la nouvelle version de GeoNature dans ce cas.

Merci pour le retour, qui va nous permettre les interactions et liens entre les outils et leurs migrations.