Erreur lors d'un changement de clé fonctionnelle d'un objet

Bonjour,

J’avais un objet métier avec une clé fonctionnelle et j’ai dû en ajouter une autre.
Pour vérifier la fonctionnalité de cette nouvelle clé fonctionnelle, je copie une ligne et je change uniquement mon attribut qui est la nouvelle clé fonctionnelle. J’ai une erreur lorsque j’essaie d’enregistrer. Avez-vous une idée d’où cela pourrait venir ?

ECORED0001|system|com.simplicite.util.ObjectDirect|save||Erreur OsiParametre java.sql.SQLIntegrityConstraintViolationException: integrity constraint violation: unique constraint or index violation: OSI_PARAMETRE_UK at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)

L’index unique en base OSI_PARAMETRE_UK doit encore être l’ancien.
car l’alter du nouveau n’a pas du passer en raison de l’existence de doublon en base sur cette nouvelle clé.

  • il faut vider votre table ou peupler les colonnes ajoutées pour garantir l’unicité de votre nouvelle clé
  • dropper et recréer l’index unique via l’accès à la base (ou modifier la clé de l’objet pour forcer Simplicité à la recréer)
  • regardez vos logs lors de ces alter. vous aurez des duplicate si votre clé n’est pas unique sur la table existante.
1 Like