database:sinp-paca:import-donnees

Ceci est une ancienne révision du document !


Import des données SINP-PACA pour GeoNature et l'Atlas

Cette manipulation est dangereuse car elle supprime tout le contenu de la base de données de GeoNature !
  • Suivre les étapes de mise à jour d'une installation de GeoNature, au niveau de l'intervention sur "db-srv" suivre ceci:
    • Sur l'instance "db-srv" connecté en tant que "geonat", suivre les étapes suivantes
    • Mettre à true le paramètre drop_apps_db du fichier ~/geonature/config/settings.ini.
    • Se placer dans le dossier ~/geonature/install/ avec la commande : cd ~/geonature/install/
    • Lancer une session détachable car la manipulation peut être longue et une perte de connexion SSH possible : screen -S install-db
    • Lancer le script d'installation de la base de données de GeoNature : ./install_db.sh
    • Vérifier l’absence d'erreurs de l'installation dans le fichier ~/geonature/var/log/install_db.log
    • ATTENTION : remettre à false le paramètre drop_apps_db du fichier ~/geonature/config/settings.ini !
  • En local, sur votre machine, récupérer le dépôt Github "sinp-paca-data" : git clone git@github.com:cbn-alpin/sinp-paca-data.git
  • Suivre les éventuelles étapes indiquées dans les fichiers README.md (CBNA) et README.md (CEN-PACA)
  • ATTENTION : sur le serveur, sauvegarder le dossier "data" : voir ci-dessous
  • Se placer à la racine du dossier sinp-paca-data
  • Transférer les scripts : rsync -av --copy-unsafe-links --exclude var --exclude .git --exclude .editorconfig --exclude .vscode --exclude .gitignore --exclude settings.ini --exclude "data/raw/*" --exclude venv --exclude .venv --exclude "import-parser/data/*" ./ geonat@db-paca-sinp:~/data/ --dry-run
    • Supprimer l'option --dry-run si tout semble ok pour effectuer le transfert réel
  • Se connecter au serveur
    • Créer les fichiers settings.ini à partir des fichiers settings.sample.ini pour : area, cbna-cbnmed, cenpaca et shared
    • Préparer l'environnement du script import-parser en suivant les indications du fichier README.md (import-parser)
      • Notes : il est nécessaire de redonner les droits d'execution à GCC pour tout le monde si l'on veut pouvoir installer correctement le venv avec sudo chmod o+x /usr/bin/gcc. Une fois l'installation terminée, retirer les à nouveau avec chmod o-x /usr/bin/gcc .
  • Notes : les données brutes nécessaires aux scripts sont automatiquement téléchargées depuis Dropbox
  • Se connecter à l'utilisateur "admin" sur le serveur : ssh geonat@db-paca-sinp
  • Créer le dossier de sauvegarde : mkdir -p backups/data
  • Sauvegarder le dossier "data" : mv data backups/data/$(date +%F)
  • Recréer le dossier "data" vide : mkdir data
  • Il est nécessaire d'ajouter les colonnes : id_nomenclature_sensitivity et id_nomenclature_diffusion_level
  • CREATE OR REPLACE VIEW gn_synthese.v_synthese_for_export
    AS SELECT s.id_synthese,
        s.unique_id_sinp AS uuid_perm_sinp,
        s.unique_id_sinp_grp AS uuid_perm_grp_sinp,
        d.unique_dataset_id AS jdd_uuid,
        af.acquisition_framework_name AS ca_nom,
        d.dataset_name AS jdd_nom,
        n21.label_default AS niveau_validation,
        s.validator AS validateur,
        s.observers AS observateurs,
        t.cd_ref,
        t.nom_valide,
        s.count_min AS nombre_min,
        s.count_max AS nombre_max,
        s.date_min::DATE AS date_debut,
        s.date_max::DATE AS date_fin,
        st_asgeojson(s.the_geom_4326) AS geojson_4326,
        s."precision" AS precision_geographique,
        n9.label_default AS niveau_precision_diffusion,
        s.id_nomenclature_sensitivity,
        s.id_nomenclature_diffusion_level
    FROM gn_synthese.synthese s
         JOIN taxonomie.taxref t ON t.cd_nom = s.cd_nom
         JOIN gn_meta.t_datasets d ON d.id_dataset = s.id_dataset
         JOIN gn_meta.t_acquisition_frameworks af ON d.id_acquisition_framework = af.id_acquisition_framework
         LEFT JOIN ref_nomenclatures.t_nomenclatures n9 ON s.id_nomenclature_diffusion_level = n9.id_nomenclature
         LEFT JOIN ref_nomenclatures.t_nomenclatures n21 ON s.id_nomenclature_valid_status = n21.id_nomenclature 

Il est nécessaire d'ajouter dans le référentiel géographique de GeoNature le contour du territoire du SINP. Pour ce faire, nous allons utiliser le script area du dépôt "data" :

  • Se connecter au serveur "db" en tant qu'admin : ssh geonat@db-paca-sinp
  • Se placer dans le dossier ~/data/area/ de l'utilisateur geonat : cd ~/data/area
  • Créer le fichier de configuration : cp config/settings.sample.ini config/settings.ini
  • Modifier le fichier settings.ini en fonction de l'installation locale : vi config/settings.ini
  • Lancer une session détachable : screen -S import-area
  • Lancer le script : cd bin/ ; ./initialize.sh -v
    • Temps approximatif d'exécution : ~3h
  • Vérifier l’absence d'erreurs dans le fichier de log : vi ../var/log/$(date +'%F')_imports.log
  • Vérifier le contenu de la base de données, par exemple le nombre de communes :
    SELECT COUNT(*) 
    FROM ref_geo.l_areas AS la
    	JOIN ref_geo.bib_areas_types AS bat 
    		ON (la.id_type = bat.id_type)
    WHERE type_code = 'COM';
  • Se connecter au serveur "db" en tant qu'admin : ssh geonat@db-paca-sinp
  • Se placer dans le dossier ~/data/cenpaca/ de l'utilisateur geonat : cd ~/data/cenpaca
  • Créer le fichier de configuration : cp config/settings.sample.ini config/settings.ini
  • Modifier le fichier settings.ini en fonction de l'installation locale : vi config/settings.ini
  • Lancer une session détachable : screen -S import-cenpaca
  • Lancer le script : cd bin/ ; ./import_initial.sh -v
    • Temps approximatif d'exécution : ~2h20
  • Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données
  • Se connecter au serveur "db" en tant qu'admin : ssh geonat@db-paca-sinp
  • Se placer dans le dossier ~/data/cbna-cbnmed/ de l'utilisateur geonat : cd ~/data/cbna-cbnmed
  • Créer le fichier de configuration : cp config/settings.sample.ini config/settings.ini
  • Modifier le fichier settings.ini en fonction de l'installation locale : vi config/settings.ini
  • Lancer une session détachable : screen -S import-cbna-cbnmed
  • Lancer le script : cd bin/ ; ./import_initial.sh -v
    • Temps approximatif d'exécution : ~1h45
  • Vérifier l’absence d'erreurs dans la session et vérifier le contenu de la base de données

Suivre la démarche décrite dans la documentation de gestion des serveurs.

  • database/sinp-paca/import-donnees.1615233367.txt.gz
  • Dernière modification : 2021/03/08 19:56
  • de jpmilcent