Anomalie #1894
ouvertMySQL update: Could not change column 'text_orig' of table 'galette_l10n'
0%
Description
Php 8.2 - MYSQL v.8.0
La mise à jour bloque au niveau de la base de données : Impossible de lancer le script de mise à jour 1.10
Le fichier galette_install.log précise :
10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'amount' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'region_adh' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'type_paiement_trans' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'field_min_size' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'width_in_forms' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'field_width_in_forms' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'field_information_above' 10.10.20.57 - 2024-11-20 05:09:32 - ERROR - Error executing query | SQLSTATE[HY000]: General error: 3886 Could not change column 'text_orig' of table 'galette_l10n'. The resulting size of index 'PRIMARY' would exceed the max key length of 1000 bytes. 10.10.20.57 - 2024-11-20 05:09:33 - ERROR - Fail executing SQL instructions 10.10.20.57 - 2024-11-20 05:09:33 - INFO - Upgrade to 1.10 complete
Aide bienvenue. Merci
Fichiers
Mis à jour par Johan Cwiklinski il y a un jour
- Sujet changé de Mise à jour de Galette v1.0.3 vers v1.1.4 à MySQL update: Could not change column 'text_orig' of table 'galette_l10n'
- Catégorie mis à Database
- Assigné à mis à Johan Cwiklinski
Toutes les lignes du fichier log qui parlent de Column already exists
sont dues à une nouvelle tentative de mise à jour, sur une mise à jour précédente partielle. Rejouer sur la base d'origine avant migration corrigera le souci (de toutes façons, ce n'est pas bien grave, la colonne existe en base, c'est ce que l'on veut).
L'erreur Could not change column 'text_orig'
; c'est autre chose, et c'est peut-être le vrai souci qui a fait que la toute première tentative n'a pas abouti. C'est du à un mix entre des données "trop longues" dans la table galette_l10n
et des limitations de MySQL (avoir un encodage en base correct, ça devient un sport avec eux _).
Je n'ai pas de vraie solution pour le moment, si ce n'est d'omettre (en la commentant) la ligne du script de conversion "fautive", à savoir :
ALTER TABLE galette_l10n CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
Mis à jour par Johan Cwiklinski il y a un jour
Sachant que sur d'autres instances ça n'a pas vraiment posé de problèmes, je me dit que c'est probablement lié au contenu de la table. Si tu arrives à identifier dans cette table des valeurs très longues, sont-elles justifiées ?
Car sinon, une autre solution possible, c'est de "corriger" les données, ce qui devrait résoudre le souci (même si ça reste un contournement, et pas une solution définitive).
Mis à jour par Roland Telle il y a un jour
- Fichier Incident_Maj_Bdd.png Incident_Maj_Bdd.png ajouté
Johan Cwiklinski a écrit (#note-2):
Sachant que sur d'autres instances ça n'a pas vraiment posé de problèmes, je me dit que c'est probablement lié au contenu de la table. Si tu arrives à identifier dans cette table des valeurs très longues, sont-elles justifiées ?
Car sinon, une autre solution possible, c'est de "corriger" les données, ce qui devrait résoudre le souci (même si ça reste un contournement, et pas une solution définitive).
Le contenu de la table galette_l10n m'a semblé à la fois bizarre et inutile :
J'ai vidé cette table et la relance de la mise à jour a fait apparaître les mêmes anomalies.
J'ai occulté la ligne du script de conversion fautive qui est donc validée mais les autres tables ne le sont toujours pas. Je vais remettre les tables sauvegardées avant tentative de mise à jour et ... on verra.
Question : le cache de Galette peut-il être vidé sans souci ?
Mis à jour par Johan Cwiklinski il y a un jour
Roland Telle a écrit (#note-3):
J'ai vidé cette table et la relance de la mise à jour a fait apparaître les mêmes anomalies.
OK :/
J'ai occulté la ligne du script de conversion fautive qui est donc validée mais les autres tables ne le sont toujours pas. Je vais remettre les tables sauvegardées avant tentative de mise à jour et ... on verra.
Normalement, ça devrait suffire. Le problème adressé par cette modification est #1794 (ce n'est pas la fin du monde s'il n'est pas appliqué donc).
Question : le cache de Galette peut-il être vidé sans souci ?
Oui, tout à fait :)
Mis à jour par Roland Telle il y a un jour
Johan Cwiklinski a écrit (#note-4):
Roland Telle a écrit (#note-3):
J'ai occulté la ligne du script de conversion fautive qui est donc validée mais les autres tables ne le sont toujours pas. Je vais remettre les tables sauvegardées avant tentative de mise à jour et ... on verra.
Normalement, ça devrait suffire. [...]
En effet, la mise à jour s'est faite sans aucune difficulté.
Question : le cache de Galette peut-il être vidé sans souci ?
Oui, tout à fait :)
Cache vidé, tout semble fonctionner parfaitement.
On peut fermer le ticket. Merci Johan !
Mis à jour par Johan Cwiklinski il y a un jour
Roland Telle a écrit (#note-5):
Cache vidé, tout semble fonctionner parfaitement.
Top :)
On peut fermer le ticket. Merci Johan !
Je vais la garder ouvert, pour essayer de trouver une solution plus pérène ;)