Erreur lors upgrade BDD - Data too long for column 'surveyls_welcometext'

More
1 year 10 months ago #190522 by WhilelM
Bonjour,

Je suis bloqué dans la mise d'une instance Limesurvey de la version 3.8.2 à la version 3.19.3. J'obtiens le message suivant sur la mise à jour de la BDD depuis la 358 vers la 359:

Erreur non récupérable durant la mise à jour. Détails de cette erreur :

CDbCommand n'a pas pu exécuter la commande SQL: SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'surveyls_welcometext' at row 28

Fichier updatedb_helper.php, ligne 3962.



Les données viennent d'une instance qui tournait avec MySQL 5.6, j'ai copié la base sur une instance qui tourne avec MariaDB 10.3.17. Limesurvey fonctionnait sans signaler de problème. Seule la mise à jour est bloquée.
The topic has been locked.
More
1 year 10 months ago #190548 by DenisChenu
M…

Ca peut arriver , mais devrais rester rare. Surtout entre la 3.8 et la 3.19 …
C'est ici : github.com/LimeSurvey/LimeSurvey/commit/...ecbe2d24aa8be88536e4

Mais en mysql/mariadb TEXT et text c'est pareil …

Peux tu activer le mode debug pour essayer d'avoir plus d'info ?
Tu dois avoir un questionnaire avec une longue descrption …
manual.limesurvey.org/Debug_mode

Et tu peux remonter le bogue.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
The topic has been locked.
More
1 year 10 months ago - 1 year 10 months ago #190567 by WhilelM
Merci pour le retour. Voici une copie en pièce jointe du message avec debug 2 activé.


J'avais essayé de remonter le bogue hier mais impossible de trouver comment m'enregistrer depuis l'interface du site bugs.limesurvey.org/, surtout qu'en cliquant sur le bouton registration, il m'envoyait bouler en indiquant que j'étais déjà enregistré :huh:
Bref, je découvre aujourd'hui la page www.limesurvey.org/community/bug-tracker.
Je fais ça.
Attachments:
Last edit: 1 year 10 months ago by WhilelM.
The topic has been locked.
More
1 year 10 months ago #190568 by WhilelM
The following user(s) said Thank You: DenisChenu
The topic has been locked.
More
1 year 10 months ago - 1 year 10 months ago #190573 by DenisChenu
Merci :)

Sinon , pour corriger (temporarirement)

As tu accès à phpMyAdmin ou un truc comme ça ,

Si oui peut tu nous dire quelle est la valeur la plus aute d'indiquée ?
SELECT surveyls_survey_id,surveyls_language,LENGTH(surveyls_welcometext) as welcomelength FROM lime_surveys_languagesettings  
ORDER BY welcomelength  DESC
Et au cas ou : profite en pour réduire la taille du premier :)

PS : pense à changer lime_ si tu n'as pas laissé par défaut …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
Last edit: 1 year 10 months ago by DenisChenu.
The topic has been locked.
More
1 year 10 months ago #190575 by WhilelM
J'ai accès à la console MariaDB =)

J'obtiens 263957, pas mal hein ? La 2e n'est qu'à 3201. Je vais voir pour identifier le formulaire en question chez nous.
The topic has been locked.
More
1 year 10 months ago #190579 by DenisChenu
C'est pour cela que j'avais ajouté surveyls_survey_id : c'est le numéro de questionnaire :).

Sinon : 65,535 (216 - 1) MAIS en bits … donc les carcatères péciaux en prennent bien plus.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
The topic has been locked.
More
1 year 10 months ago #190580 by WhilelM

Sinon : 65,535 (216 - 1) MAIS en bits … donc les carcatères péciaux en prennent bien plus.

Je ne comprend pas ce que tu veux dire.
The topic has been locked.
More
1 year 10 months ago #190603 by DenisChenu
C'est juste la taille des éléments texte pour mariadb
mariadb.com/kb/en/library/text/

C'est pareil en mysql par contre : dev.mysql.com/doc/refman/8.0/en/storage-...storage-reqs-strings

Comment cela se fait que ta base à une données ce type ? Vous avez modifié manuellement le type de données ?

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
The topic has been locked.
More
1 year 10 months ago #190609 by WhilelM
Pour le format de la donnée, c'était :
`surveyls_welcometext` mediumtext COLLATE utf8mb4_unicode_ci

pour ce qui est de sa taille, il s'avère qu'il y avait une image avec le texte !?

Le champs a été édité depuis l'instance originale (qui était toujours en production) et la nouvelle base de donnée importée a pu être mise à jour sans souci.

Merci de ton aide.
The topic has been locked.
More
1 year 10 months ago #190612 by DenisChenu
Une image en base64 ?

Sinon mediumtext : cela avait était modifié manuellement :)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development . I don't answer to private message.
The topic has been locked.
Moderators: Nickko

Start now!

Just create your account and start using Limesurvey today.

Register now