PnX-SI / Nomenclature-api-module

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

MAJ 1.3.5 et unicité #42

Closed DonovanMaillard closed 2 years ago

DonovanMaillard commented 3 years ago

Salut,

Au cours de la MAJ vers la version 1.3.5, j'ai eu une contrainte d'unicité violée, ça peut toucher les instances dont l'installation initiale est ancienne.

Pour le type STATUT_OBS, sur les installations anciennes il a déjà existé une nomenclature NSP, qui avait été simplement inactivée mais pas supprimée via cette MAJ 1.2.3->1.2.4 de mars 2019 : https://github.com/PnX-SI/Nomenclature-api-module/blob/master/data/update1.2.3to1.2.4.sql Du coup, le binome type+code nomenclature est dupliqué.

Il faudrait donc faire le ménage nécessaire, au choix :

DonovanMaillard commented 3 years ago

Une autre solution, plus logique, serait simplement de réactiver la nomenclature NSP si elle existe....

DO $$ BEGIN IF EXISTS (select * from ref_nomenclatures.t_nomenclatures where cd_nomenclature = 'NSP' and id_type=ref_nomenclatures.get_id_nomenclature_type('STATUT_OBS')) THEN UPDATE ref_nomenclatures.t_nomenclatures SET active = true WHERE id_nomenclature = ref_nomenclatures.get_id_nomenclature('STATUT_OBS', 'NSP');

ELSE INSERT INTO ref_nomenclatures.t_nomenclatures (id_type, cd_nomenclature, mnemonique, label_fr, label_default, definition_fr, source, statut, id_broader, hierarchy, meta_create_date, meta_update_date, active) VALUES (ref_nomenclatures.get_id_nomenclature_type('STATUT_OBS'), 'NSP', 'NSP', 'Ne Sait Pas', 'Ne Sait Pas', 'Ne Sait Pas : l''information n''est pas connue', 'SINP', 'Validé', 0, '018.003', '2020-12-22 00:00:00', '2020-12-22 00:00:00', true); END IF;

END $$;

bouttier commented 2 years ago

Fait : de03ec70