MTES-MCT / metadata-postgresql

Plume : gestion des métadonnées du patrimoine PostgreSQL
https://mtes-mct.github.io/metadata-postgresql/
GNU Affero General Public License v3.0
0 stars 1 forks source link

Trigger plume_stamp_data_edit sur toutes les tables installées #114

Closed thiegaillard closed 1 year ago

thiegaillard commented 1 year ago

Bonjour,

y-a-t-il une fonction PostgreSQL permettant d'ajouter le trigger plume_stamp_data_edit sur toutes les tables installées avant l'installation de plume ?

Merci d'avance pour votre réponse.

alhyss commented 1 year ago

Bonsoir @thiegaillard Désolée pour le retour tardif.

Non, il n'y a pas de fonction pour ça. Pour l'heure il faut exécuter la fonction stamp_create_trigger sur chacune des tables concernées, comme pour activer le suivi au cas par cas. Effectivement, c'est un manque !

En attendant, tu peux exécuter une boucle pour t'éviter d'avoir à traiter les tables une par une (exactement ce que fera la fonction que je vais écrire).

Par exemple, pour traiter toutes les tables du schéma loop_test :

DO
$$
DECLARE
    r record ;
BEGIN
    FOR r IN (SELECT oid FROM pg_class WHERE relnamespace = 'loop_test'::regnamespace)
    LOOP
        PERFORM z_plume.stamp_create_trigger(r.oid) ;
    END LOOP ;
END
$$