Mise à GeoNature v2.6.3.dev0, TaxHub v1.7.4.dev0, UsersHub v2.1.4.dev0 : test local
Commencer par la mise à jour de TaxHub et TaxRef :
TaxHub de v1.7.4.dev0 vers v1.9.4
- Depuis le dossier de Taxhub :
cd ~/workspace/geonature/web/taxhub/
- Voir v1.9.3
- Ajout de
accent
:sudo -n -u postgres -s psql -d $db_name -c 'CREATE EXTENSION IF NOT EXISTS "unaccent";'
- Mise à jour de la BDD v1.7.3 vers 1.8.0 :
psql -h localhost -U geonatadmin -d gn2_dev_sinp -f "data/update1.7.3to1.8.0.sql"
- Mise à jour vers TaxRef v13 : doc
- Se placer dans le dossier du script de mise à jour :
cd data/scripts/update_taxref/
- Renseigner le mot de passe
sudo
:sudo ls
- Lancer le script de mise à jour :
./import_taxref_v13_data.sh
- Les fichier CSV générés dans
/tmp
contiennent uncd_nom
qui n'a pas de remplaçant, il est donc nécessaire de supprimer les lignes correspondante de la synthese et de bib_noms. Seulbib_noms
est concerné car nous y avons placé tout TaxRef…- Nous remplaçons les fichiers : 2.1_taxref_changes_corrections_pre_detections.sql, 2.2_taxref_changes_corrections_post_detections.sql et 4.3_restore_local_constraints.sql du dossier
data/scripts/update_taxref/scripts/
par ceux du dépôtsinp-paca-data
présent dans le dossiertaxref/v13/data/sql
. - Les fichiers générés par les scripts sont présents dans
taxref/v13/data/csv
.
- Appliquer les changements :
./apply_changes.sh 13
- Vérifier les fichiers CSV du dossier
/tmp
: liste_changements.csv et nb_changements.csv - Nettoyer les tables résiduelles :
./clean_db.sh
- Mise à jour vers TaxRef v14 : doc
- Se placer dans le dossier du script de mise à jour :
cd data/scripts/update_taxref/
- Renseigner le mot de passe
sudo
:sudo ls
- Lancer le script de mise à jour :
./import_taxref_v14.sh
- Les fichier CSV générés dans
/tmp
contiennent uncd_nom
qui n'a pas de remplaçant, il est donc nécessaire de supprimer les lignes correspondante de la synthese et de bib_noms. Seulbib_noms
est concerné car nous y avons placé tout TaxRef…- Nous remplaçons les fichiers : 2.1_taxref_changes_corrections_pre_detections.sql, 2.2_taxref_changes_corrections_post_detections.sql et 4.3_restore_local_constraints.sql du dossier
data/scripts/update_taxref/scripts/
par ceux du dépôtsinp-paca-data
présent dans le dossiertaxref/v14/data/sql
. - Les fichiers générés par les scripts sont présents dans
taxref/v14/data/csv
.
- Appliquer les changements :
./apply_changes.sh 14
- Vérifier les fichiers CSV du dossier
/tmp
: liste_changements.csv et nb_changements.csv - Nettoyer les tables résiduelles :
./clean_db.sh
- Passage à de la version 1.8.0 à 1.9.3 :
- Arrêter le service Supervisor de Taxhub :
sudo supervisorctl stop taxhub
- Supprimer le fichier de configuration de Supervisor :
sudo rm /etc/supervisor/conf.d/taxhub-service.conf
- Installer le paquet
python3-venv
nouvellement nécessaire :sudo apt install python3-venv
- Déplacer
config.py
situé à la racine de TaxHub dans le sous-dossierapptax
:mv config.py apptax/
- Modifier le fichier
config.py
:- Supprimer les lignes :
# File import os BASE_DIR = os.path.abspath(os.path.dirname(__file__))
- Remplacer le paramètre
UPLOAD_FOLDER = 'static/medias
' parUPLOAD_FOLDER = 'medias
'
- Sur un serveur classique (pas pour le développement) Suivre la doc d'installation classique de TaxHub.
- En développement, réinstaller juste l'app :
./install_app.sh
- Vérifier la présence du nouveau service Systemd pour Taxhub :
sudo systemctl status taxhub
- Démarrer le service si nécessaire :
sudo systemctl start taxhub
- Activer le service au démarrage si nécessaire :
sudo systemctl enable taxhub
- Voir la section surcouchage du service Systemd de Taxhub.
- S'assurer du bon fonctionnement de la conf Nginx.
- ATTENTION : Ne pas mettre à jour la base de données avec Alembic via TabHub. Il est nécessaire de la faire via GeoNature.
- Mettre à jour GeoNature avant de faire la migration TaxRef v15
- Mise à jour vers TaxRef v15 : branche
develop
doc- Assurer vous d'avoir mise à jour la branche "taxonomie" vias geonature avec
geonature db upgrade taxonomie
par exemple.- Vous devez avoir la revision
c4415009f164 Taxref v15
sur la branchetaxonomie
- Se placer dans le dossier de TaxHub
- Activer le venv :
source venv/bin/activate
- Charger l'appli FLASK :
export FLASK_APP=apptax/app.py
- Lancer la commande :
flask taxref_migration update_taxref_v15
- À partir des fichiers CSV créé les fichiers SQL qui seront utilisé lors du changement.
- Appliquer les changements :
flask taxref_migration apply_changes --script_predetection /home/jpmilcent/workspace/cbna/sinp/taxhub/apptax/migrations/data/migrate_taxref_version/2.1_taxref_changes_corrections_pre_detections.sql --script_postdetection /home/jpmilcent/workspace/cbna/sinp/taxhub/apptax/migrations/data/migrate_taxref_version/2.2_taxref_changes_corrections_post_detections.sql
- Puis, retourner dans GeoNature et estampiller le changement à la base :
geonature db stamp ad35a3bf85c2
- Ensuite, finir la mise à jour de la base :
geonature db autoupgrade
Notes sur les mise à jour TaxRef
Une fois le premier script exécuté, il est nécessaire de bien analyser les les fichiers CSV présents dans le dossier /tmp
et les tables du schéma temporairestmp_taxref_changes
.
Il faudra traiter dans les fichiers SQL 2.1_taxref_changes_corrections_pre_detections.sql, 2.2_taxref_changes_corrections_post_detections.sql et 4.3_restore_local_constraints.sql, les cas suivant :
- Répercuter les conséquences des cd_noms disparus sur les données de GeoNature (Synthèse, Occtax et éventuelles autres sources). Ceux de la table taxonomie.taxref_protection_especes sont optionnels.
- Gérer les attributs en conflit (cd_nom mergés et attributs incohérents)
- Gérer les éventuels splits
- Vérifier les éventuels taxons locaux (Hors Taxref) si ils ont été ajoutés dans la nouvelle version de Taxref
Dans notre cas, cela consiste principalement à :
- mettre à jour dans "gn_synthese.synthese" les cd_nom supprimés listés dans liste_cd_nom_disparus_bib_noms.csv et dans liste_cd_nom_disparus_synthese.csv. Les requêtes SQL doivent être placées dans le fichier 2.1_taxref_changes_corrections_pre_detections.sql.
- Pour les cd_nom sans remplaçant mettre à NULL le cd_nom. Les fournisseurs de données pourraitent vouloir mettre à jour ses observations en question.
- Dans le fichiers liste_changements.csv, rechercher dans la colonne "action" les entrées
Loose attributes and medium now attach to …
et "Conflict …" pour lesquels il peut y avoir une action à mener si des attributs (att_nb) ou des media existent (media_nb).
Mise à jour UsersHub de v2.1.4.dev0 vers 2.2.2
- Voir la doc des releases
- Arrêter le service Supervisord de UsersHub :
sudo supervisorctl stop usershub2
- Supprimer le fichier de configuration de Supervisor :
sudo rm /etc/supervisor/conf.d/usershub-service.conf
- Installer le paquet
python3-venv
nouvellement nécessaire (normalement fait pour Taxhub) :sudo apt install python3-venv
- Supprimer dans le fichier
config/config.py
le paramètreURLS_COR
, il n'est plus utilisé. - Sur un serveur classique (pas pour le développment) Suivre la doc d'installation classique d'UsersHub.
- En développement, réinstaller juste l'app :
./install_app.sh
- Vérifier la présence du nouveau service Systemd pour UsersHub :
sudo systemctl status usershub
- Démarrer le service si nécessaire :
sudo systemctl start usershub
- Activer le service au démarrage si nécessaire :
sudo systemctl enable usershub
- Voir la section surcouchage du service Systemd de UsersHub.
- Vérifier le bon fonctionnement de la configuration de Nginx.
- ATTENTION : Ne pas mettre à jour la base de données avec Alembic via UsersHub. Il est nécessaire de la faire via GeoNature.
Mise à jour GeoNature de v2.6.3.dev0 vers 2.7.5
- Afin de pouvoir faire évoluer la base de données du SINP, il faut modifier le script de migration "data/migrations/2.6.2to2.7.0.sql". C'est fait dans la branche locale
feat/sinp-migrate-2.6.2-to-2.7.0
. - Création de la branche feat/sinp-2.8.1 contenant les branches
feat/data-blurring-2.8.1
,feat/sinp-migrate-2.6.2-to-2.7.0
. - Mise à jour de la base vers v2.7.0 :
psql -h localhost -U geonatadmin -d gn2_dev_sinp -f "data/migrations/2.6.2to2.7.0.sql"
- Mettre à jour la vue "gn_synthese.v_synthese_for_export" suite à la migration, se placer dans le dossier
db-geonature
des dépôtssinp-paca-data
ousinp-aura-data
:
- Changement du fichier custom.scss :
- Modifier le chemin vers le fichier utilisé dans le fichier
frontend/src/assets/custom.css
avec :mv frontend/src/custom/custom.scss frontend/src/assets/custom.css
- Le fichier est en CSS et plus en SCSS le modifier en conséquence
- Changer son emplacement sur les dépôts sinp-paca-srv et sinp-aura-srv.
- Mise à jour de la base vers v2.7.2 :
psql -h localhost -U geonatadmin -d gn2_dev_sinp -f "data/migrations/2.7.1to2.7.2.sql"
- Pour le passage à la version v2.8.1, il est nécessaire d'avoir mis à jour UsersHub vers la version 2.2.1.
Mise à jour GeoNature de v2.7.5 vers 2.10.0.dev
- Stopper le service GN de Supervisord :
sudo supervisorctl stop geonature2
- Supprimer le fichier de configuration Supervisor de GeoNature :
sudo rm /etc/supervisor/conf.d/geonature-service.conf
- Si nécessaire, désinstaller Supervisor :
sudo apt remove supervisor
- Modifier le fichier
config/geonature_config.toml
en :- ajoutant (changer le chemin en local):
[ALEMBIC] VERSION_LOCATIONS = "/home/geonat/www/usershub/app/migrations/versions/"
- remplaçant les
id_type
par destype_code
dans le paramètreAREA_FILTERS
. Par exemple, l'id 25 devient "COM". - remplacer les
id_type
par destype_code
dans le paramètreAREA_TYPES
. Ex. :AREA_TYPES = ["COM", "DEP", "SINP"]
- Passage à Systemd et surcouchage du service, voir la section dédiée dans la mise à jour de GeoNature.
- Vérifier la configuration de Nginx.
- Activer le venv :
source backend/venv/bin/activate
- Exécuter les commandes suivantes afin d’indiquer à Alembic l’état de votre base de données :
geonature db stamp f06cc80cc8ba # GeoNature 2.7.5 geonature db stamp 0dfdbfbccd63 # référentiel géographique des communes geonature db stamp 3fdaa1805575 # référentiel géographique des départements geonature db stamp 586613e2faeb # référentiel géographique des mailles 1×1 geonature db stamp 7d6e98441e4c # référentiel géographique des mailles 5×5 geonature db stamp ede150d9afd9 # référentiel géographique des mailles 10×10 #<del>geonature db stamp 1715cf31a75d # MNT de l’IGN</del> #Non nécessaire sur les SINP et en local.
- Avant de poursuivre, il est nécessaire d’exécuter la requête suivante pour nettoyer la table
gn_sensitivity.cor_sensitivity_criteria
sinon la révision Alembic suivante ne passe pas :psql -h localhost -U geonatadmin -d gn2_dev_sinp -c "DELETE FROM gn_sensitivity.cor_sensitivity_criteria WHERE id_criteria IS NULL;"
- Vue que la base de données contient déjà le SQL concernant la mise à jours des permissions et des demandes d'accès, il faut mettre à jour la base jusqu'à la révision précédent "access-reqest (3b2f3de760dc)" car "data-blurring (c9854947fa23)" suit "access-reques". Normalement, ces 2 révisions doivent se situer tout au bout de la branche principale de GeoNature :
- pour trouver la révision précédent "access-reqest (3b2f3de760dc)", ouvrir le fichier
3b2f3de760dc_access-reqest.py
et récupérer la révision correspondant à la variabledown_revision
. Ex. :down_revision = 'ca052245c6ec
' - pour lancer la mise à jour jusqu'à la bonne révision :
geonature db upgrade ca052245c6ec
- ATTENTION : la création du schéma "gn_profiles" peut prendre plusieurs heures (~2h).
- pour estampiller la base avec les révisions correspondant "data-blurring" (c9854947fa23) :
geonature db stamp c9854947fa23 # data-blurring
- Ensuite, il faut exécuter les migrations qui suivent "data-blurring" (comme "improve sensitivity constraints"), pour cela il suffit de réaliser l'upgrade de la branche "geonature" :
geonature db upgrade geonature
- Vérifier l'état de la base de données à l'aide de la commande :
geonature db status
- Mettre à jour les branches nécessaires :
geonature db autoupgrade -x recompute-sensitivity=false -x restore-diffusion-level=false
- ATTENTION : NE PAS installer la branche "ref_sensitivity_inpn" car nous ne gérons pas les règles de sensibilité. Si cela devait malgré tout être fait, bien utilisé l'option
-x restore-diffusion-level=false
pour éviter le recalcul du champ "diffusion_level" de la synthese. - ATTENTION : il ne devrait pas être nécessaire d'utiliser la commande "autoupgrade" mais si c'est à faire, utiliser les options suivantes pour ne pas mettre à jour les niveaux de diffusion/sensibilité de la synthèse :
geonature db autoupgrade -x recompute-sensitivity=false -x restore-diffusion-level=false
- Déplacer le contenu du fichier
frontend/src/custom.scss
dansfrontend/src/assets/custom.css
puis supprimerfrontend/src/custom.scss
Activer l'accès public
- Créer une redirection de "webmaster-user-public@<domaines>" vers les adresses des webmasters de GeoNature.
- Dans UsersHub, créer un nouvel utilisateur :
- Prénom : Utilisateur
- Nom : PUBLIC
- Email associé : webmaster-user-public@<domaine>
- avec login
user-public
- Ajouter cet utilisateur au groupe "Grp_utilisateurs"
- Commentaire : Utilisateur public permettant un accès à GeoNature sans création de compte.
- Ajouter les paramètres suivant au fichier geonature_config.toml :
# Configuration de l'accès sans authentification [PUBLIC_ACCESS] ENABLE_PUBLIC_ACCESS = true PUBLIC_LOGIN = "user-public" PUBLIC_PASSWORD = "<mot-de-passe>"
- Relancer la prise en compte des paramètres de config :
geonature update-configuration
Mise à jour des profils
- Mettre à jour la vue
gn_profiles.v_synthese_for_profiles
grâce au script SQL présent dans le dépôt sinp-<region>-data, dossier db-geonature/data/sql/- La nouvelle vue exclue les observations sensibles ou privées
- Actualiser les vues matérialisées des profils avec la commande :
geonature profiles update