# Offre extraction/suppression/transfert des données data et paradata Le spectre des données existantes dans le systeme questionnaire : (data ou paradata) * (questionnaire partiel ou questionnaire validé (issu de state-data)) ## EXTRACTION - Différentiel : - chaque jour on extraie les données data + paradata des validées => performance pénalisée par l'extraction des paradonnées - Complete : - choix d'option pour extraire en une fois pour une campagne les données parmi les combinsaions (data ou paradata) * (partiel ou validé) ==> hyper long si récupération des paradonnées ## SUPPRESSION - Suppression d'une campagne - via endpoint /DELETE campaign. Supprime les data + pardata pour l'ensemble des ue de la campagne ==> :boom: ## TRANSFERT - Flux data + paradata vers traiter à mettre en place. ## Principe - Le batch EXTRACTDATA crée dans out\deleteData\toDelete des fichiers data.CAMPAIGN.date.txt (liste d'idue) et paradata.CAMPAIGN.date.txt (liste d'id paradata ?) contenant les identifiants des UE extraites validées ==> si ajout de la colonne idue dans paradata on peut se contenter d'un fichier ? - Un nouveau batch DELETEDATA parcourt le répertoire out\deleteData\toDelete. Les fichiers dont la date a dépassé les 3 jours (délai raisonnable?) sont traités et les data et paradata sont effacées en base. Les fichiers traités sont déplacés dans out\deleteData\deleted ## Modifications ### Ajout d'une colonne survey_unit_id dans la table paradata_event ```sql ALTER TABLE public.paradata_event ADD survey_unit_id varchar NULL; update public.paradata_event set survey_unit_id=value#>'{events}'->0->>'idSurveyUnit'; delete from public.paradata_event where survey_unit_id is NULL; ``` Quid des paradata ={} ? ### Modifs des applis - [ ] Ajout de la colonne id + modif du endpoint POST /paradata + suppression des paradata via idSU dans Queen back-office branch delete_data: 3.5.43 -> 3.6.0 - [ ] changer le nom du champ de la table pour être cohérent avec les id ue ailleurs dans l'appli (survey_unit_id) - [ ] Queen-batch branch update_paradata: 4.1.13 -> 4.2.0 - [ ] intègre la nouvelle version de queenbatch + modif EXTRACTDATA + ajout DELETEEXTRACTEDDATA platine-batch branch delete_data: 1.1.11 -> 1.2.0 - [ ] pearl-batch: RAS? changer le numéro de version de queen batch? ## :boom: Passer en prod Platine :boom: - Quel plan pour un rollback ? - backup de la db - déploiement queen-bo et maj automatique du schéma (ajout d'une colonne) - maj bdd avec valorisation de la colonne IdSU - bdd suppression des paradonnées vides ou sans idSU - Créer une version queenbatch - Déployer platine-batch et crééer le job DELETEEXTRACTEDDATA ## BILAN - 1 Après extraction complete, nettoyer avec un script sql la base de données Platine pour retirer les paradata de logement. Cela permettra de supprimer correctement la campagne S1 - 2 développe/recette et déploie les batchs EXTRACTDATA ET DELETEEXTRACTEDDATA sans modification de la structure de la bdd => cela permet de controller le volume de paradonnées créées lors de la S2 et envisager une suppression par endpoint qui fonctionne - 3 Ajout de la colonne idSU et adaptation des batchs