Créations des vues SQL pour les indicateurs
Contexte
On veut créer une vue SQL pour chaque indicateur.
Un objectif est d’exposer les valeurs calculées des indicateurs, pour permettre de les exploiter dans un outil comme Metabase pour faire des tableaux de bord sans devoir dupliquer la logique de calcul des indicateurs.
Un autre intérêt est de pouvoir plus facilement récupérer toutes les valeurs d’un indicateur, d’une part pour les garder en cache dans l’API via un DataLoader Strawberry, et d’autre part pour prévisualiser les changements de valeurs lors de la mise à jour d’un jeu de données.
Contenu
Les vues sont crées dans un schéma dédié (par défaut : indicateurs
).
Chaque vue comporte :
- une colonne
__insitu_geo_maille
: le type de maille - une colonne
__insitu_geo_code
: le code du territoire - une ou plusieurs colonnes avec les valeurs
Pour des raisons de performances, les vues sont matérialisées : https://www.postgresql.org/docs/current/rules-materializedviews.html
Utilisation : pour l’instant, seulement dans la commande insitu dump
avec l’option --utiliser-vues
.
Cycle de vie :
- les vues sont créées ou remplacées :
- par la commande
insitu dump
si on utilise l’option--utiliser-vues
- par la commande
insitu shell
- au démarrage de l’API
- par la commande
- il n’y a pas de mécanisme de raffraichissement des vues lorsque les tables de données sont mises à jour par un import (TODO)
- il n’y a pas de mécanisme de suppression des anciennes vues si on supprime ou renomme un indicateur