Valeurs permises d’un facteur de liste (pays, région, type de sol, opération, mode de culture). Globale, ajout seul : un pack publié ajoute ses valeurs, jamais n’en retire.
| Name |
Type |
Default |
Nullable |
Children |
Parents |
Comment |
| id |
uuid |
app.uuid_v7() |
false |
|
|
Identifiant stable (UUID v7), cible des clés étrangères des parcelles (séquence A5). |
| facteur_code |
text |
|
false |
app.parcelle |
app.facteur |
Facteur dont la valeur fait partie. |
| code |
text |
|
false |
app.parcelle |
|
Code de la valeur, unique dans son facteur : TG, lateritique, irrigue… |
| libelle_fr |
text |
|
false |
|
|
Libellé en français. |
| libelle_en |
text |
|
false |
|
|
Libellé en anglais. |
| pack_id |
uuid |
|
true |
|
app.pack |
Pack qui a déclaré la valeur. Nul pour une valeur du noyau. |
| cree_le |
timestamp with time zone |
now() |
false |
|
|
Date de création de la ligne. |
| Name |
Type |
Definition |
| facteur_valeur_code_check |
CHECK |
CHECK ((code ~ ‘^[A-Za-z0-9_.-]+$’::text)) |
| facteur_valeur_pack_id_fkey |
FOREIGN KEY |
FOREIGN KEY (pack_id) REFERENCES app.pack(id) |
| facteur_valeur_facteur_code_fkey |
FOREIGN KEY |
FOREIGN KEY (facteur_code) REFERENCES app.facteur(code) |
| facteur_valeur_pkey |
PRIMARY KEY |
PRIMARY KEY (id) |
| facteur_valeur_facteur_code_code_key |
UNIQUE |
UNIQUE (facteur_code, code) |
| Name |
Definition |
| facteur_valeur_pkey |
CREATE UNIQUE INDEX facteur_valeur_pkey ON app.facteur_valeur USING btree (id) |
| facteur_valeur_facteur_code_code_key |
CREATE UNIQUE INDEX facteur_valeur_facteur_code_code_key ON app.facteur_valeur USING btree (facteur_code, code) |
| Name |
Definition |
| journal |
CREATE TRIGGER journal AFTER INSERT OR DELETE OR UPDATE ON app.facteur_valeur FOR EACH ROW EXECUTE FUNCTION journal.tg_journaliser() |
| ajout_seul |
CREATE TRIGGER ajout_seul BEFORE DELETE OR UPDATE ON app.facteur_valeur FOR EACH ROW EXECUTE FUNCTION app.tg_ajout_seul() |
erDiagram
"app.facteur_valeur" }o--|| "app.facteur" : "FOREIGN KEY (facteur_code) REFERENCES app.facteur(code)"
"app.parcelle" }o--|| "app.facteur_valeur" : "FOREIGN KEY (mode_culture_facteur, mode_culture) REFERENCES app.facteur_valeur(facteur_code, code)"
"app.parcelle" }o--|| "app.facteur_valeur" : "FOREIGN KEY (region_facteur, region) REFERENCES app.facteur_valeur(facteur_code, code)"
"app.parcelle" }o--|| "app.facteur_valeur" : "FOREIGN KEY (type_sol_facteur, type_sol) REFERENCES app.facteur_valeur(facteur_code, code)"
"app.facteur_valeur" }o--o| "app.pack" : "FOREIGN KEY (pack_id) REFERENCES app.pack(id)"
"app.facteur_valeur" {
uuid id "Identifiant stable (UUID v7), cible des clés étrangères des parcelles (séquence A5)."
text facteur_code FK "Facteur dont la valeur fait partie."
text code "Code de la valeur, unique dans son facteur : TG, lateritique, irrigue…"
text libelle_fr "Libellé en français."
text libelle_en "Libellé en anglais."
uuid pack_id FK "Pack qui a déclaré la valeur. Nul pour une valeur du noyau."
timestamp_with_time_zone cree_le "Date de création de la ligne."
}
"app.facteur" {
uuid id "Identifiant stable (UUID v7)."
text code "Code du facteur, unique, cible des clés étrangères : produit, operation, pays, region, mode_culture, type_sol, referentiel, classe_altitude."
text libelle_fr "Libellé en français."
text libelle_en "Libellé en anglais."
text nature "`liste` (valeurs fermées) ou `classes` (facteur numérique découpé en classes par le pack, PC-03)."
text source "Origine des valeurs : `noyau` (livrées avec BioTrace), `pack` (déclarées par un pack), `dynamique` (tirées des tables de l'organisation : produits, référentiels)."
timestamp_with_time_zone cree_le "Date de création de la ligne."
}
"app.parcelle" {
uuid id "Identifiant stable (UUID v7)."
uuid organisation_id FK "Organisation propriétaire. Sert à l'isolation par RLS (EC-032)."
uuid groupement_id FK "Groupement de la parcelle, identique à celui de son producteur (clé composée) : un producteur qui a des parcelles ne change pas de groupement."
uuid producteur_id FK "Producteur propriétaire de la parcelle (de la même organisation)."
uuid produit_id FK "Produit cultivé (de la même organisation)."
text code "Code de la parcelle, unique par organisation."
text type_surface "`cultures`, `serres` ou `prairies` : sert aux seuils d'éligibilité au groupe (RG-024)."
bigint surface_declaree_m2 "Surface déclarée par le producteur, en m² (EC-030). Jamais la base d'une capacité : c'est la surface mesurée (AV1-01)."
text region_facteur FK "Constante `region` : nom du facteur de la clé étrangère composée vers facteur_valeur."
text region FK "Région (valeur du facteur `region`), facultative."
text mode_culture_facteur FK "Constante `mode_culture` : nom du facteur de la clé étrangère composée vers facteur_valeur."
text mode_culture FK "Mode de culture (`pluvial` ou `irrigue`), facultatif."
text type_sol_facteur FK "Constante `type_sol` : nom du facteur de la clé étrangère composée vers facteur_valeur."
text type_sol FK "Type de sol (valeur du facteur `type_sol`), facultatif."
boolean actif "Faux quand la parcelle n'est plus utilisée. Une parcelle n'est jamais supprimée."
timestamp_with_time_zone cree_le "Date de création de la ligne."
timestamp_with_time_zone modifie_le "Date de dernière modification."
}
"app.pack" {
uuid id "Identifiant du pack (UUID v7)."
text code "Code du pack (ex. fruits)."
text libelle "Libellé du pack."
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."
text type "Type de pack (AM-06) : filiere (produits, paramètres, arbre d'activités) ou referentiel (états de qualité, grilles, tables de décision)."
}
Generated by tbls