Projet

Général

Profil

Actions

Anomalie #10764

fermé

[analyse Script] Erreur lors du passage du 1904.sql

Ajouté par Ines MKACHER il y a plus de 5 ans. Mis à jour il y a plus de 3 ans.

Statut:
R&D - Terminé
Priorité:
1-Majeur
Assigné à:
Version cible:
Début:
24/05/2019
Echéance:

Description

Retour SGAMI :

En ligne 258 de votre script de montée de version 1904.sql, vous engagez un remplissage automatique du champ "added_by_entity"
UPDATE listinstance SET added_by_entity =
(SELECT entity_id FROM users_entities WHERE users_entities.user_id = listinstance.added_by_user AND primary_entity = 'Y')
WHERE added_by_entity IS NULL OR added_by_entity = '';

Nous rencontrons un rejet via l'erreur :

ERREUR: une valeur NULL viole la contrainte NOT NULL de la colonne « added_by_entity »
DÉTAIL : La ligne en échec contient (letterbox_coll, 9998, DOC, 0, FALEZINE, user_id, dest, EGILLET, null, 3, 51445, Y, entity_id, null, null, f, f)

Le script va charger une entité lorsque la condition : (SELECT entity_id FROM users_entities WHERE users_entities.user_id = listinstance.added_by_user AND primary_entity = 'Y') est rempli.

Or dans le cas d'usage, l'utilisateur listinstance.added_by_user peut ne plus exister dans la table users_entities de part sa suppression.
Donc la requête renvoie null ce qui n'est pas autorisé dans la table listinstance

En effet, un utilisateur peut avoir été supprimé : il est en position DEL dans la table users. Il est donc plus affecté et par conséquent supprimer de la table users_entities.

Actions

Formats disponibles : Atom PDF