Re: [Galette-discussion] Suppression d'un champ dynamique via SQL : est-ce que j'ai cassé ma base ?

[ Thread Index | Date Index | More lists.galette.eu/users Archives ]


Bonjour,
C’est ce que j’ai fait ! 
dans la table galette_dynamic_fields, j’ai supprimé toutes les entrées où field_id = 1 et field_form = adh .
mais l’erreur de contrainte a subsisté. Sinon je ne serais pas allé supprimer la contrainte pour le plaisir ! :-)
Cordialement
Thierry

Le 22 juil. 2018 à 18:34, Michel Verdier <anatole404@xxxxxxxxx> a écrit :

Bonjour
Je crois que la bonne démarche aurait été de supprimer toutes les entrées correspondant à ce champ dans la table des contenus de champs dynamique puis supprimer ensuite ce champ de la table des champs dynamiques.
Dans ce sens là pas de problème de Foreign Key.
Cdlt
Michel
Bonjour
Le dim. 22 juil. 2018 à 15:27, Thierry Marc Mouchaud <palijn@xxxxxxxx> a écrit :
Bonjour,

Dans une version 0.8 de galette j’avais ajouté un champ dynamique de type bool appelé « Renonciation » .
Ce champ étant devenu inutile, je veux le supprimer de la base.
Or, quand je clique sur « Supprimer » j’ai un message d’erreur.

Aujourd’hui je me suis dit « Tiens je n’ai qu’à aller l’éditer directement dans la base ». Mauvaise idée ?

Dans phpmyadmin , lorsque je cherche à supprimer le champ dans galette_fields_types (ce champ dynamique correspond à field_id = 1) , j’obtiens une erreur de FOREIGN KEY constraint (« galette_dynamic_fields_ibfk»).

Ayant trouvé la contrainte en question dans la table galette_dynamic_fields, j’ai (bêtement?) supprimé toutes les entrées où field_id = 1 et field_form = adh .

Comme la suppression de l’entrée dans galette_field_types générait toujours l’erreur nommant la contrainte…
j’ai supprimé la contrainte galette_dynamic_fields_ibfk de la table galette_dynamic_fields , en pensant faire : 1) enlever la contrainte 2) supprimer le champ récalcitrant 3) remettre la contrainte

Etat des lieux : le champ dynamique a bien disparu .

En revanche si j’essaie de remettre la contrainte en place via phpMyadmin , ça ne marche pas :
Requête SQL :
ALTER TABLE `galette_dynamic_fields` ADD  CONSTRAINT `galette_dynamic_fields_ibfk_1` FOREIGN KEY (`field_id`) REFERENCES `galette_field_types`(`field_id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
MySQL a répondu : Documentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`echosolutions`.`#sql-4dd5_10040496`, CONSTRAINT `galette_dynamic_fields_ibfk_1` FOREIGN KEY (`field_id`) REFERENCES `galette_field_types` (`field_id`))

Alors, est-ce que j’ai totalement foiré la base de données de galette, ou alors y a-t-il moyen de remettre les choses en ordre ? :-/

Merci d’avance pour votre aide :-)
Cordialement,
Thierry



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/