Anomalie #668
ferméImpossible de détruire la fiche d'un membre géolocalisé (foreign key)
Ajouté par Roland Telle il y a plus de 11 ans. Mis à jour il y a presque 8 ans.
100%
Description
Cannot delete or update a parent row: a foreign key constraint fails (`C01698_membres`.`galette_maps_coordinates`, CONSTRAINT `galette_maps_coordinates_ibfk_1` FOREIGN KEY (`id_adh`) REFERENCES `galette_adherents` (`id_adh`))
Mis à jour par Johan Cwiklinski il y a plus de 11 ans
- Version utilisée changé de 0.7.5 à 0.7.4
- Sujet changé de Galette v0.7.5dev. Impossible de détruire la fiche d'un membre géolocalisé (foreign key) à Impossible de détruire la fiche d'un membre géolocalisé (foreign key)
Mis à jour par Mathieu . il y a environ 8 ans
Je viens de faire un essai et j'arrive bien à supprimer un adhérent géolocalisé.
Donc le problème a peut-être été résolu ?
Mis à jour par Johan Cwiklinski il y a environ 8 ans
Il ne me semble pas avoir corrigé ce souci ; mais ce serait une bonne novuelle que ce soit corrigé ;)
Mis à jour par Roland Telle il y a environ 8 ans
Test effectué avec Galette8.2.3dev + Maps v1.2.1
Le temps n'y a rien changé ;-)
::1 - 2016-09-26 22:45:12 - 3 - Query error: DELETE FROM `galette_adherents` WHERE `id_adh` IN ('3') exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`galette823`.`galette_maps_coordinates`, CONSTRAINT `galette_maps_coordinates_ibfk_1` FOREIGN KEY (`id_adh`) REFERENCES `galette_adherents` (`id_adh`))' in C:\xampp\htdocs\galette823\includes\Zend-2.3.7\Zend\Db\Adapter\Driver\Pdo\Connection.php:438 Stack trace: #0 C:\xampp\htdocs\galette823\includes\Zend-2.3.7\Zend\Db\Adapter\Driver\Pdo\Connection.php(438): PDO->query('DELETE FROM `ga...') #1 C:\xampp\htdocs\galette823\includes\Zend-2.3.7\Zend\Db\Adapter\Adapter.php(190): Zend\Db\Adapter\Driver\Pdo\Connection->execute('DELETE FROM `ga...') #2 C:\xampp\htdocs\galette823\lib\Galette\Core\Db.php(731): Zend\Db\Adapter\Adapter->query('DELETE FROM `ga...', 'execute') #3 C:\xampp\htdocs\galette823\lib\Galette\Repository\Members.php(341): Galette\Core\Db->execute(Object(Zend\Db\Sql\Delete)) #4 C:\xampp\htdocs\galette823\gestion_adherents.php(245): Galette\Repository\Members->removeMembers('3') #5 {main} ::1 - 2016-09-26 22:45:12 - 3 - Unable to delete selected member(s) |SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (`galette823`.`galette_maps_coordinates`, CONSTRAINT `galette_maps_coordinates_ibfk_1` FOREIGN KEY (`id_adh`) REFERENCES `galette_adherents` (`id_adh`)) ::1 - 2016-09-26 22:45:12 - 4 - SORTED:Array
Mis à jour par Johan Cwiklinski il y a presque 8 ans
Je ne parviens pas à me décider... Soit on ne peut supprimer l'adhérent s'il est géolocalisé (pourquoi pas - c'est daillerus le comportement voulu à l'origine), mais du coup, il faudrait que le message d'erreur soit plus clair ; ce qui n'est pas évident (la suppression se fait côté galette, le plugin n'a normalement rien à voir là dedans).
L'alternative, c'est de supprimer les données en cascade (comm on vire les contributions lors de la supprssion d'un adhérent) ; ça implique une mise à jour du plugin et une modification de son schéma.
Des avis ?
Mis à jour par Johan Cwiklinski il y a presque 8 ans
Proposition de correctif (ne pas oublier de mettre à jour la base de données !) :
https://github.com/galette/plugin-maps/archive/hotfix/1.2.3.tar.gz
Mis à jour par Roland Telle il y a presque 8 ans
Test effectué comme suit :
- installation en local d'une galette v0.8.3.3 toute fraîche avec le plugin Maps v1.2.2
- création et géolocalisation d'un membre
- destruction de la fiche dudit membre sans succès
- installation par écrasement du plugin Maps v1.2.3 (contenant le correctif) et mise à jour des tables
- destruction de la fiche dudit membre : la fiche disparaît ainsi que la contribution et les coordonnées dans la table galette_maps_coordinates
Roland, sous le soleil de Gran Canarias ;-)
Mis à jour par Johan Cwiklinski il y a presque 8 ans
- Assigné à mis à Johan Cwiklinski
Super, merci Roland :) Je vais sortir une version corrective ce week-end.
Mis à jour par Johan Cwiklinski il y a presque 8 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit eec5b259be7f64cd9f28f4012f3320f78bf525d0.