Dictionnaire de données (AM-09, P5) : variables qu’une règle a le droit de lire, avec leur type, leur unité et leur disponibilité hors ligne. Généré depuis les manifestes des modules et, plus tard, les packs publiés.
| Name |
Type |
Default |
Nullable |
Children |
Parents |
Comment |
| id |
uuid |
app.uuid_v7() |
false |
|
|
Identifiant stable (UUID v7). |
| nom |
text |
|
false |
|
|
Nom pointé de la variable, lu par les conditions (reception.quantite_g). |
| type |
text |
|
false |
|
|
Type : entier, texte, booléen, liste de textes, table texte → texte. Jamais de décimal. |
| unite |
text |
‘’::text |
false |
|
|
Unité de la valeur (g, cp…) ; vide pour un texte ou un booléen. |
| origine |
text |
|
false |
|
|
Origine : noyau (code), pack (mesure déclarée par une étape), indicateur (calcul du noyau). |
| hors_ligne |
boolean |
|
false |
|
|
Vrai si la variable est disponible sur le téléphone ; sinon la ligne qui la lit est évaluée au serveur (AM-10). |
| module_code |
text |
|
true |
|
app.module |
Module qui déclare la variable ; exclusif de pack_version_id. |
| pack_version_id |
uuid |
|
true |
|
app.pack_version |
Version de pack qui déclare la variable ; exclusif de module_code. |
| cree_le |
timestamp with time zone |
now() |
false |
|
|
Date de création de la ligne. |
| modifie_le |
timestamp with time zone |
now() |
false |
|
|
Date de dernière modification (par migration seulement). |
| Name |
Type |
Definition |
| variable_dictionnaire_check |
CHECK |
CHECK (((module_code IS NULL) <> (pack_version_id IS NULL))) |
| variable_dictionnaire_nom_check |
CHECK |
CHECK ((nom ~ ‘^[a-z][a-z0-9_](.[a-z][a-z0-9_])*$’::text)) |
| variable_dictionnaire_origine_check |
CHECK |
CHECK ((origine = ANY (ARRAY[‘noyau’::text, ‘pack’::text, ‘indicateur’::text]))) |
| variable_dictionnaire_type_check |
CHECK |
CHECK ((type = ANY (ARRAY[‘entier’::text, ‘texte’::text, ‘booleen’::text, ‘liste_texte’::text, ‘table_texte’::text]))) |
| variable_dictionnaire_pack_version_id_fkey |
FOREIGN KEY |
FOREIGN KEY (pack_version_id) REFERENCES app.pack_version(id) |
| variable_dictionnaire_module_code_fkey |
FOREIGN KEY |
FOREIGN KEY (module_code) REFERENCES app.module(code) |
| variable_dictionnaire_pkey |
PRIMARY KEY |
PRIMARY KEY (id) |
| variable_dictionnaire_nom_key |
UNIQUE |
UNIQUE (nom) |
| Name |
Definition |
| variable_dictionnaire_pkey |
CREATE UNIQUE INDEX variable_dictionnaire_pkey ON app.variable_dictionnaire USING btree (id) |
| variable_dictionnaire_nom_key |
CREATE UNIQUE INDEX variable_dictionnaire_nom_key ON app.variable_dictionnaire USING btree (nom) |
| Name |
Definition |
| journal |
CREATE TRIGGER journal AFTER INSERT OR DELETE OR UPDATE ON app.variable_dictionnaire FOR EACH ROW EXECUTE FUNCTION journal.tg_journaliser() |
| modifie_le |
CREATE TRIGGER modifie_le BEFORE UPDATE ON app.variable_dictionnaire FOR EACH ROW EXECUTE FUNCTION app.tg_modifie_le() |
erDiagram
"app.variable_dictionnaire" }o--o| "app.module" : "FOREIGN KEY (module_code) REFERENCES app.module(code)"
"app.variable_dictionnaire" }o--o| "app.pack_version" : "FOREIGN KEY (pack_version_id) REFERENCES app.pack_version(id)"
"app.variable_dictionnaire" {
uuid id "Identifiant stable (UUID v7)."
text nom "Nom pointé de la variable, lu par les conditions (reception.quantite_g)."
text type "Type : entier, texte, booléen, liste de textes, table texte → texte. Jamais de décimal."
text unite "Unité de la valeur (g, cp…) ; vide pour un texte ou un booléen."
text origine "Origine : noyau (code), pack (mesure déclarée par une étape), indicateur (calcul du noyau)."
boolean hors_ligne "Vrai si la variable est disponible sur le téléphone ; sinon la ligne qui la lit est évaluée au serveur (AM-10)."
text module_code FK "Module qui déclare la variable ; exclusif de pack_version_id."
uuid pack_version_id FK "Version de pack qui déclare la variable ; exclusif de module_code."
timestamp_with_time_zone cree_le "Date de création de la ligne."
timestamp_with_time_zone modifie_le "Date de dernière modification (par migration seulement)."
}
"app.module" {
uuid id "Identifiant stable (UUID v7)."
text code "Code du module ; préfixe de ses permissions (EC-092)."
text libelle_fr "Libellé en français."
text libelle_en "Libellé en anglais."
boolean toujours_actif "Vrai pour le noyau : il ne s'active ni ne se désactive."
smallint ordre "Ordre d'affichage."
timestamp_with_time_zone cree_le "Date de création de la ligne."
timestamp_with_time_zone modifie_le "Date de dernière modification (par migration seulement)."
}
"app.pack_version" {
uuid id "Identifiant de la version (UUID v7)."
uuid pack_id FK "Pack concerné."
text version "Version sémantique (majeure.mineure.correctif)."
jsonb contenu "Contenu du pack, en JSON."
text sha256 "Empreinte SHA-256 du contenu."
boolean calibre "Vrai si les rendements du pack ont été calibrés (EC-007)."
text statut "Statut : brouillon, publie ou retire."
timestamp_with_time_zone publie_le "Date de publication. Nulle pour un brouillon."
timestamp_with_time_zone cree_le "Date de création de la ligne."
timestamp_with_time_zone modifie_le "Date de la dernière modification, tenue par un déclencheur."
uuid publie_par "Identifiant Keycloak (sub) du membre de l'équipe de l'éditeur qui a publié la version depuis le cockpit. Nul pour les versions publiées par le pipeline ou la ligne de commande avant CP-5."
}
Generated by tbls