Procédure de suppression rapide d'observations
- Utiliser un fichier csv contenant une seule colonne "unique_id_sinp" et transmettre les UUID des observations à supprimer.
- Envoyer le fichier sur le serveur :
scp 2023-03-09_obs_to_delete.csv geonat@db-paca-sinp:/home/geonat/data/cbnmed/data/raw/
- À l'aide de DBeaver créer un table dans le schéma
gn_imports
:CREATE TABLE gn_imports.cbnmed_20230309_fix_obs_to_delete ( unique_id_sinp uuid NOT NULL, CONSTRAINT cbnmed_20230309_fix_obs_to_delete_pk PRIMARY KEY (unique_id_sinp) );
- Se connecter au serveur et se placer dans le dossier contenant le fichier csv :
cd data/cbnmed/data/raw/
- Importer les UUID dans la table en base de données :
cat ./2023-03-09_obs_to_delete.csv | psql -h localhost -U geonatadmin geonature2db -c "COPY gn_imports.cbnmed_20230309_fix_obs_to_delete(unique_id_sinp) FROM STDIN DELIMITER ',' CSV HEADER;"
- Lancer la requête de suppression :
psql -h localhost -U geonatadmin geonature2db -c "DELETE FROM gn_synthese.synthese WHERE id_source = 193 AND unique_id_sinp IN (SELECT unique_id_sinp FROM gn_imports.cbnmed_20230309_fix_obs_to_delete);"
- Vérifier avec DBeaver la suppression des observations :
SELECT * FROM gn_synthese.synthese WHERE id_source = 193 AND unique_id_sinp IN (SELECT unique_id_sinp FROM gn_imports.cbnmed_20230309_fix_obs_to_delete);