Anomalie #409
ferméMàJ base d'une .63 table dynamic_fields
0%
Description
La base originale avait déjà une clé primaire : PRIMARY KEY (`item_id`,`field_id`)
Or dans le script de màj de la 0,7,0,2 dans le fichier upgrade-to-0.70-mysql.sql à la ligne 54 :
ALTER TABLE `galette_dynamic_fields` ADD PRIMARY KEY ( `item_id` , `field_id` , `field_form` , `val_index` );
Il faudrait rajouter une suppression de clé primaire sinon une erreur #1068 est jetée. J'ai corrigé comme suit et le script de màj fonctionne maintenant sans relever d'erreurs :
ALTER TABLE `galette_dynamic_fields` DROP PRIMARY KEY; ALTER TABLE `galette_dynamic_fields` ADD PRIMARY KEY ( `item_id` , `field_id` , `field_form` , `val_index` );
Fichiers
Mis à jour par Johan Cwiklinski il y a environ 12 ans
- Statut changé de Nouveau à Rejeté
- Assigné à
Johan Cwiklinskisupprimé
Je viens de vérifier dans les scripts MySQL ; il n'y a pas de clé primaire existante en 0.63 (confer le fichier mysql.sql de la version 0.63.4).
Mis à jour par Geoffrey Mosini il y a environ 12 ans
- Fichier structure_galette.sql structure_galette.sql ajouté
Voici la structure, il me semble que cela devrait être une 0.63.4 mais difficile de dire à partir de quelle version elle a été créée.
Je ne vois pas l'intérêt de ne pas intégrer cette modification vu qu'il s'agit d'une sécurité, dans mon cas cette clé primaire était là, même si je ne connais pas l'origine de sa présence.
À mon sens c'est un automatisme de le faire, tout comme on trouve dans vos scripts "CREATE TABLE IF NOT EXISTS" et non pas "CREATE TABLE" simple.