Journal d’audit en ajout seul : qui, quoi, quand, avant et après, pour chaque écriture sur une table du socle. Écrit par un déclencheur, jamais par l’API.
| Name |
Type |
Default |
Nullable |
Children |
Parents |
Comment |
| id |
uuid |
app.uuid_v7() |
false |
|
|
Identifiant de l’événement (UUID v7). |
| organisation_id |
uuid |
|
true |
|
|
Organisation concernée. Nulle pour les tables globales (packs, taux de change). |
| table_nom |
text |
|
false |
|
|
Table modifiée, préfixée de son schéma (ex. app.utilisateur). |
| ligne_id |
uuid |
|
false |
|
|
Identifiant de la ligne modifiée. |
| operation |
text |
|
false |
|
|
Nature de l’écriture : INSERT, UPDATE ou DELETE. |
| avant |
jsonb |
|
true |
|
|
Contenu de la ligne avant l’écriture, en JSON. Nul pour un INSERT. |
| apres |
jsonb |
|
true |
|
|
Contenu de la ligne après l’écriture, en JSON. Nul pour un DELETE. |
| utilisateur_id |
uuid |
|
true |
|
|
Auteur de l’écriture, lu dans la variable de transaction app.utilisateur_id. |
| appareil_id |
uuid |
|
true |
|
|
Appareil d’origine si la commande vient du terrain (app.appareil_id). |
| commande_id |
uuid |
|
true |
|
|
Commande traitée par l’écriture, s’il y en a une (app.commande_id). |
| transaction_id |
bigint |
txid_current() |
false |
|
|
Numéro de la transaction PostgreSQL, pour regrouper les événements d’une même opération. |
| horodatage |
timestamp with time zone |
clock_timestamp() |
false |
|
|
Date et heure exactes de l’écriture. |
| Name |
Type |
Definition |
| evenement_operation_check |
CHECK |
CHECK ((operation = ANY (ARRAY[‘INSERT’::text, ‘UPDATE’::text, ‘DELETE’::text]))) |
| evenement_pkey |
PRIMARY KEY |
PRIMARY KEY (id) |
| Name |
Definition |
| evenement_pkey |
CREATE UNIQUE INDEX evenement_pkey ON journal.evenement USING btree (id) |
| evenement_ligne_idx |
CREATE INDEX evenement_ligne_idx ON journal.evenement USING btree (organisation_id, table_nom, ligne_id) |
| evenement_date_idx |
CREATE INDEX evenement_date_idx ON journal.evenement USING btree (organisation_id, horodatage) |
| Name |
Definition |
| ajout_seul |
CREATE TRIGGER ajout_seul BEFORE DELETE OR UPDATE ON journal.evenement FOR EACH ROW EXECUTE FUNCTION app.tg_ajout_seul() |
erDiagram
"journal.evenement" {
uuid id "Identifiant de l'événement (UUID v7)."
uuid organisation_id "Organisation concernée. Nulle pour les tables globales (packs, taux de change)."
text table_nom "Table modifiée, préfixée de son schéma (ex. app.utilisateur)."
uuid ligne_id "Identifiant de la ligne modifiée."
text operation "Nature de l'écriture : INSERT, UPDATE ou DELETE."
jsonb avant "Contenu de la ligne avant l'écriture, en JSON. Nul pour un INSERT."
jsonb apres "Contenu de la ligne après l'écriture, en JSON. Nul pour un DELETE."
uuid utilisateur_id "Auteur de l'écriture, lu dans la variable de transaction app.utilisateur_id."
uuid appareil_id "Appareil d'origine si la commande vient du terrain (app.appareil_id)."
uuid commande_id "Commande traitée par l'écriture, s'il y en a une (app.commande_id)."
bigint transaction_id "Numéro de la transaction PostgreSQL, pour regrouper les événements d'une même opération."
timestamp_with_time_zone horodatage "Date et heure exactes de l'écriture."
}
Generated by tbls