Aller au contenu

journal.evenement

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