[BDD-S1] Gérer la mise à jour automatique des timestamps (updated_at / modifie_le) #4

Closed
opened 2025-08-25 09:45:42 +00:00 by vdorge · 2 comments
Member

Description

Automatiser la maj de modifie_le / updated_at via trigger.

Tâches

  • Créer fonction PL/pgSQL set_timestamp() et triggers BEFORE UPDATE sur tables avec modifie_le / cree_le. (ex. utilisateurs, dossiers, contrats, avenants_contrats, evenements)

  • Fichier 05_triggers.sql.

Critères d’acceptation

  • UPDATE change bien modifie_le.

  • Tests fournis.

## Description Automatiser la maj de modifie_le / updated_at via trigger. ## Tâches - Créer fonction PL/pgSQL set_timestamp() et triggers BEFORE UPDATE sur tables avec modifie_le / cree_le. (ex. utilisateurs, dossiers, contrats, avenants_contrats, evenements) - Fichier 05_triggers.sql. ## Critères d’acceptation - UPDATE change bien modifie_le. - Tests fournis.
vdorge added this to the P'titsPas-Ynov project 2025-08-25 09:45:42 +00:00
vdorge added the
BDD
Implémentation
Sprint 1
labels 2025-08-25 09:59:55 +00:00
vdorge added this to the Sprint 1 – Mise en place BDD milestone 2025-08-25 09:59:57 +00:00
Author
Member

Checklist de tests rapides

-- Exemple sur 'utilisateurs' :
UPDATE utilisateurs
SET nom = nom -- force un update neutre
WHERE id = '<un_uuid_existant>';

-- Vérifie que modifie_le > cree_le
SELECT id, cree_le, modifie_le
FROM utilisateurs
WHERE id = '<un_uuid_existant>';

-- Même test sur une autre table (ex. dossiers) :
UPDATE dossiers SET presentation = presentation WHERE id = '<uuid_dossier>';
SELECT id, cree_le, modifie_le FROM dossiers WHERE id = '<uuid_dossier>';

Résultats attendus

  • cree_le reste la date d’insertion,

  • modifie_le est mis à NOW() lors de l’UPDATE.

# Checklist de tests rapides -- Exemple sur 'utilisateurs' : UPDATE utilisateurs SET nom = nom -- force un update neutre WHERE id = '<un_uuid_existant>'; -- Vérifie que modifie_le > cree_le SELECT id, cree_le, modifie_le FROM utilisateurs WHERE id = '<un_uuid_existant>'; -- Même test sur une autre table (ex. dossiers) : UPDATE dossiers SET presentation = presentation WHERE id = '<uuid_dossier>'; SELECT id, cree_le, modifie_le FROM dossiers WHERE id = '<uuid_dossier>'; ### Résultats attendus - cree_le reste la date d’insertion, - modifie_le est mis à NOW() lors de l’UPDATE.
Author
Member

Ajouter migrations/05_triggers.sql
A tester sur Docker

Ajouter migrations/05_triggers.sql A tester sur Docker
Sign in to join this conversation.
No description provided.