Ceci est une ancienne révision du document !


Mise à jour de TaxRef

Présentation des étapes pour migrer TaxRef malgré l'utilisation en production d'une version ancienne de TaxHub (v1.9.4). Réaliser d'abord toutes ces étapes en local avant de les reproduire en production.

Pré-requis : la base de données ne doit pas avoir évolué… Rechercher les éventuelles évolutions dans la liste des releases.

Migration de TaxRef en version :

  • v17 depuis v16 : évolution de la base impactant la migration entre la v1.9.4 et la v1.14.0 ⇒ nécessite de créer la table taxonomie.t_meta_taxref dans script SQL de pré-détection.
  • v16 depuis v15 : pas d'évolution de la base impactant la migration entre la v1.9.4 et la v1.11.3.
  • Se connecter sur l'hôte web-srv
  • Se placer dans le dossier ~/www/ :
    cd ~/www/
  • Cloner le dépôt Taxhub :
    git clone https://github.com/PnX-SI/TaxHub.git taxhub.taxref_v16
    • Mettre à jour les sous-module si utilisation en local en mode "dev" :
      git submodule init; git submodule update
  • Se placer dans le dossier cloné :
    cd ~/www/taxhub.taxref_v16
  • Copier les fichiers de configuration :
    cp settings.ini.sample settings.ini
    cp apptax/config.py.sample apptax/config.py
    • Éditer le fichier settings.ini :
      vi settings.ini
      • Modifier les 3 paramètres suivant :
        db_host=10.0.1.20
         
        # Database name
        db_name=geonature2db
         
        # Database owner username
        user_pg=geonatadmin
         
        # Database owner password
        user_pg_pass=<geonatadmin-password>
    • Éditer le fichier config.py :
      vi apptax/config.py
      • Modifier les 2 paramètres suivant :
        SQLALCHEMY_DATABASE_URI = "postgresql://geonatadmin:<geonatadmin-password>@10.0.1.20:5432/geonature2db"
        SECRET_KEY = '<generate-super-secret-key-with-uuid>'
  • Lancer l'installation du venv :
    ./install_app.sh
  • Activer le venv :
    source venv/bin/activate
  • Lancer l'import de TaxRef :
    flask taxref migrate-to-v16 import-taxref-v16
    • Pas certain que cela soit utile si on utilise le scripts SQL pre_detection.sql mais on peut lancer la commande suivante pour tester d'éventuel changement réalisé dans la base :
      flask taxref migrate-to-v16 test-changes-detection
  • Lors de la réalisation des tests en local, préparer une nouveau dossier de version de TaxRef sur le dépôt sinp-<region>-data :
    • Voir : PACA ou AURA
    • Copier les fichiers csv générés par le script précédent dans le dossier taxref/v16/csv/ du dépôt.
    • Créer les scripts SQL qui permettront la migration dans le dossier taxref/v16/sql/. Se baser sur la version précédente de TaxRef pour avoir des exemples de script SQL qu'il faudra adapté aux informations fournies dans les fichiers CSV.
  • Lors de la mise en production, récupérer les fichiers SQL permettant la migration :
    wget https://raw.githubusercontent.com/cbn-alpin/sinp-<region>-data/main/taxref/v<version>/sql/pre_detection.sql
    wget https://raw.githubusercontent.com/cbn-alpin/sinp-<region>-data/main/taxref/v<version>/sql/post_detection.sql
  • Lancer la migration de TaxRef :
    flask taxref migrate-to-v16 apply-changes --script_predetection ./pre_detection.sql --script_postdetection ./post_detection.sql
    • NOTE : pour une raison inconnue, dans le cas du SINP AURA, il m'a fallu lancer à 2 reprises cette commande. Après l'import, 14 conflits sont indiqués. Après le premier lancement, il reste 8 conflits. Après le second, cela tombe 0 et la migration s'effectue correctement…
  • Vérifier que la nouvelle version de TaxRef a bien été migré correctement ! Vérifier qu'un cd_nom disparu dans la v16 n'est plus présent dans votre table taxonomie.taxref et qu'un nouveau cd_nom ajouté à partir de la v16 s'y trouve bien.
  • Lier à nouveau les statuts de protection aux zones géographiques :
    flask taxref link-bdc-statut-to-areas
    • Désactiver à nouveau les textes de la BDC Statut qui ne vous sont pas nécessaire à votre installation :
      • SINP PACA :
        psql -h localhost -U geonatadmin -d geonature2db -f ~/data/db-geonature/data/sql/04_disable_status_text.sql
      • SINP AURA :
        psql -h localhost -U geonatadmin -d geonature2db -f ~/data/db-geonature/data/sql/003_disable_status_text.sql
    • Ajouter les éventuels nouveaux textes de cette nouvelle version de Taxref à ne pas prendre en compte à votre script 04_disable_status_text.sql.
  • serveurs/installation/web-srv/geonature-taxref-upgrade.1716470450.txt.gz
  • Dernière modification : 2024/05/23 13:20
  • de jpmilcent