Project

General

Profile

Anomalie #668

Impossible de détruire la fiche d'un membre géolocalisé (foreign key)

Added by Roland Telle over 8 years ago. Updated almost 5 years ago.

Status:
Fermé
Priority:
Haut
Start date:
07/26/2013
Due date:
% Done:

100%

Estimated time:
Vote:

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`))
#1

Updated by Johan Cwiklinski about 8 years ago

  • Version utilisée changed from 0.7.5 to 0.7.4
  • Subject changed from Galette v0.7.5dev. Impossible de détruire la fiche d'un membre géolocalisé (foreign key) to Impossible de détruire la fiche d'un membre géolocalisé (foreign key)
#2

Updated by Johan Cwiklinski about 8 years ago

  • Project changed from Galette to Maps
#3

Updated by Mathieu . about 5 years ago

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 ?

#4

Updated by Johan Cwiklinski about 5 years ago

Il ne me semble pas avoir corrigé ce souci ; mais ce serait une bonne novuelle que ce soit corrigé ;)

#5

Updated by Roland Telle about 5 years ago

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

#6

Updated by Johan Cwiklinski almost 5 years ago

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 ?

#7

Updated by Johan Cwiklinski almost 5 years ago

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

#8

Updated by Roland Telle almost 5 years ago

Test effectué comme suit :

  1. installation en local d'une galette v0.8.3.3 toute fraîche avec le plugin Maps v1.2.2
  2. création et géolocalisation d'un membre
  3. destruction de la fiche dudit membre sans succès
  4. installation par écrasement du plugin Maps v1.2.3 (contenant le correctif) et mise à jour des tables
  5. 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 ;-)

#9

Updated by Johan Cwiklinski almost 5 years ago

  • Assignee set to Johan Cwiklinski

Super, merci Roland :) Je vais sortir une version corrective ce week-end.

#10

Updated by Johan Cwiklinski almost 5 years ago

  • Status changed from Nouveau to Résolu
  • % Done changed from 0 to 100
#11

Updated by Johan Cwiklinski almost 5 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF