Il est possible, via un one off container, de lancer un peuplement de la base de données
Plusieurs raisons peuvent venir le justifier et on distinguera essentiellement deux cas d'usage
- Migration de données : Ajouter de nouvelles colonnes, transformer des données existantes.
- Remplissage et nettoyage : Remplir des tables nouvellement créées avec des données historiques ; ou supprimer des données obsolètes, corriger des incohérences.
Par souci de clarté, deux routes sont possibles selon le cas décrit dessus :
-
Créer le script dans
scripts/one-off-scripts/avec le formatYYYYMMDD-description.ts# Exemple : scripts/one-off-scripts/20251020-migrate-forms-prod.tsLe script étant amené à n'être exécuté qu'une fois, il est important de bien le dater.
-
Exécuter le script en prod :
scalingo -a <scalingo_app_name> run "yarn one-off 20251020-migrate-forms-and-steps"
-
Créer le script dans
scripts/recurring-scripts/avec le formatdescription.ts# Exemple : scripts/recurring-scripts/fill-cpoms.tsLe script étant amené à être réutilisé, ne pas le dater.
-
Exécuter le script en prod :
scalingo -a <scalingo_app_name> run "yarn script fill-cpoms my_cpom_file.csv"
⚠️ Certains scripts nécessitent un second argument comme le nom du fichier source.
- Idempotence : Le script doit pouvoir s'exécuter plusieurs fois sans effet de bord.
- Backup : Sur la base de prod, penser à réaliser avant exécution du script un backup manuel des données.