# Migration des absences de ScoDoc 9.5 vers les assiduités 9.6

Lors du passage de ScoDoc 9.5 à 9.6, les anciennes données d'absences et
justificatifs sont traduites pour [le module assiduités](Assiduites.md).

## Script de Migration

Le script se nomme `migrate-abs-to-assiduites` et ne peut se lancer qu'en ligne
de commande:

```bash
su scodoc # au besoin
cd /opt/scodoc
source venv/bin/activate

flask migrate-abs-to-assiduites --help
```

Par défaut, la migration s'opérera sur l'ensemble des départements en utilisant
les préférences de ScoDoc.

Néanmoins le script possède 4 options pour modifier son comportement :

- `-d, --dept`
    Permet de restreindre la migration à un département à l'aide de son acronyme.
    Utilisation : `flask migrate-abs-to-assiduites -d <ACRONYME>`
- `-m, --morning`
    Permet de définir l'heure de début des cours.
    Utilisation : `flask migrate-abs-to-assiduites -m <hh:mm>`
    exemple : `hh:mm` -> `08:30`
- `-n, --noon`
    Permet de définir l'heure de fin du matin (= l'heure de début de l'après-midi).
    Utilisation : `flask migrate-abs-to-assiduites -n <hh:mm>`
    exemple : `hh:mm` -> `13:30`
- `-e, --evening`
    Permet de définir l'heure de fin des cours.
    Utilisation : `flask migrate-abs-to-assiduites -e <hh:mm>`
    exemple : `hh:mm` -> `18:30`

Les options peuvent s’enchaîner : `flask migrate-abs-to-assiduites -d TEST -m 10:30 -n 14:50 -e 19:45`

Lors du lancement du script, une barre de progression apparaîtra. Celle si vous
indique l'avancée de la transformation des absences en assiduités.

Une fois arrivée à 100%, Un processus de validation et de justification des
assiduités se lancera. Celui-ci peut (suivant les configurations) prendre un
certain temps. Veuillez ne pas le stopper en cours de route.

Lorsque la migration sera finie, un fichier log de la migration sera généré pour
chaque département. Vous recevrez aussi des statistiques sur le nombre de
justificatif et d'assiduités générés.

## Script de Suppression

En cas de problème, ou si vous souhaitez purger la base de donnée, un script de
suppression des assiduités et des justificatifs est disponible.

Le script se nomme `downgrade-assiduites-module`.

Si vous lancer le script sans aucune option, il ne se passera rien.

Voici les options :

- `-d, --dept`
    Permet de restreindre la suppression à un département à l'aide de son acronyme.
    Utilisation : `flask downgrade-assiduites-module -d <ACRONYME>`
- `-a, --assiduites`
    Provoque la suppression de toutes les assiduités
    Utilisation : `flask downgrade-assiduites-module -a`
- `-j, --justificatifs`
    Provoque la suppression de tous les justificatifs
    Utilisation : `flask downgrade-assiduites-module -j`

Quelques exemples :

- Pour tout supprimer : `flask downgrade-assiduites-module -a -j`
- Pour supprimer un département : `flask downgrade-assiduites-module -d DEPT -a -j`
- Pour supprimer l'assiduité d'un département : `flask downgrade-assiduites-module -d DEPT -a`
- Pour supprimer les justificatifs d'un département : `flask downgrade-assiduites-module -d DEPT -j`

!!! note "Voir aussi"

    - [Le module assiduités](Assiduites.md)
    - [Mise à jour vers ScoDoc 9.6 / Debian 12](UpgradeToDeb12Sco96.md)
    - [FAQ](FAQ.md)
    - [Contacts](Contact.md)
