PnX-SI / Nomenclature-api-module

Flask module for Nomenclature API
GNU General Public License v3.0
3 stars 10 forks source link

Gestion des conflits de nomenclature #9

Closed camillemonchicourt closed 6 years ago

camillemonchicourt commented 6 years ago

"Les BDD relationnelles, c'est pas fait pour le partage".

On fournit par défaut des nomenclatures standard pour les modules de base. Le principe est que chacun puisse compléter ces nomenclatures, voire en créer de nouvelles pour ses modules spécifiques locaux.

Dans ce cas, comment gérer les potentiels conflits de nomenclatures... Les ID sont des serials...

  1. Maintenir un référentiel global de nomenclatures
  2. Mettre en place un mécanisme de surcouche des nomenclatures
  3. Utiliser les codes plutôt que les ID
  4. Créer des fonctions de génération des contraintes
  5. Clé code nomenclature + code type nomenclature
  6. Remplacer les FK par des contraintes Check
  7. Utiliser des UUID

On retient les points 3, 5 et 6.

On utilise :

Conséquences :

camillemonchicourt commented 6 years ago

2 questions se posent :

camillemonchicourt commented 6 years ago

Voir les commits dans la branche dédiée : https://github.com/PnX-SI/GeoNature/commits/evol_nomenclatures

Côté Front : https://github.com/PnX-SI/GeoNature/commit/64a8ac7c062271c89ed0ebe1532f636aeedbf87b

SQL :

DONE :

camillemonchicourt commented 6 years ago

Pour voir tous les changements réalisés : https://github.com/PnX-SI/GeoNature/compare/develop...evol_nomenclatures

Pour la problématique de gestion des scripts d'insertion dont on ne maitrise plus les id_nomenclatures :

TheoLechemia commented 6 years ago

Scripts d'update :

amandine-sahl commented 6 years ago