Fallo al actualizar a moodle 3.7

Fallo al actualizar a moodle 3.7

de Axa Andrades Bustos -
Número de respuestas: 16

Hola, actualicé moodle desde 3.6.4 a 3.7 pero me sale el siguiente error:

Debug info: Duplicate entry '1-xxx-xxxxxxxx' for key 'mdl_user_mneuse_uix'
INSERT INTO mdl_user (city,auth,username,lang,confirmed,lastip,timecreated,timemodified,mnethostid,calendartype,maildisplay,mailformat,maildigest,autosubscribe,trackforums) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[array (
0 => '',
1 => 'manual',
2 => 'xxx-xxxxxxxx',
3 => 'es',
4 => 1,
5 => '181.160.113.162',
6 => 1560873520,
7 => 1560873520,
8 => '1',
9 => 'gregorian',
10 => '2',
11 => '1',
12 => '0',
13 => '1',
14 => '0',
)]
Error code: dmlwriteexception
Stack trace:
  • line 489 of /lib/dml/moodle_database.php: dml_write_exception thrown
  • line 1329 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1375 of /lib/dml/mysqli_native_moodle_database.php: call to mysqli_native_moodle_database->insert_record_raw()
  • line 111 of /user/lib.php: call to mysqli_native_moodle_database->insert_record()
  • line 4007 of /lib/moodlelib.php: call to user_create_user()
  • line 4497 of /lib/moodlelib.php: call to create_user_record()
  • line 143 of /login/index.php: call to authenticate_user_login()
Ojalá alguien me pueda ayudar.

Gracias

Promedio de valoraciones: -
En respuesta a Axa Andrades Bustos

Re: Fallo al actualizar a moodle 3.7

de Juan Pablo Miranda Aguayo -
Imagen de Moodlers de gran ayuda

Hola, Axa.

A ver si esta información, de la documentación oficial de Moodle, te es de utilidad: https://docs.moodle.org/37/en/error/moodle/dmlwriteexception

Saludos.

JP

En respuesta a Axa Andrades Bustos

Re: Fallo al actualizar a moodle 3.7

de Cesar Sanchez -

Hola Axa

Espero que ya hayas resuelto tu problema. Yo tambien lo he tenido y pus no habia encontrado informacion bien sustentada, pero pues ya lo he resuelto, y para retroalimentar posteo, aunque unas semanas después la solución.

Este fallo se produce por actualizar moodle. No sucede cuando lo instalas como nuevo. Especialmente nos sucede mucho a los que tenemos una instalacion por muchos años, y vamos actualizando a medida que sale una nueva versión. Tiene que ver con el motor de bases de datos y la y los carateres de internacionalizacion. Es una lata en espacial para los que usamos español. Asi que el problema reside en la cofificacioń de la base de datos mysql o mariadb. Tienes herramientas para corregirlo en admin/cli   en tu instalación de moodle  Estos comandos se ejecutan con el usuario que corre el servidor web ( yo uso el usuario apache, pero puede ser html, o www-data)  y se corren con el interprete de comandos en terminnal de php

ábrete una terminal,  muévete al directorio de moodle y

prueba ejecutando

sudo -u www-data /bin/php  admin/cli admin/cli/mysql_collation.php -l

te va enlistar el "collate" de tu base de datos ( asumo que es mysql o mariadb) 

la salida va a a ser la codificación de cada tabla:  si tu error es similar a mio, muchas tablas te saldrán con esto(pongo un extracto, porque en realidad te sale el listado de TODAS las tablas):

dl_analytics_indicator_calc            utf8mb4_spanish2_ci
    sampleorigin                        utf8mb4_spanish2_ci

mdl_assign                              utf8_general_ci
    name                                utf8_general_ci
    intro                               utf8_general_ci

Ese es el error.. ( aunque no es un error como tal). Las nuevas versiones estan utilizando una cofificacion de utf8mb4 y los muevos moodle estan dejando de ser compatibles con ello.

asi que para corregirlo putedes usar los mismos comandos de admin/cli

sudo -u  www-data  /usr/bin/php admin/cli/mysql_collation.php --collation=utf8mb4_general_ci

esto cambiara todas las tablas a la nueva codificacion.

por supuesto, primero respalda todo. si tienes alguna inconsistencia aparte, se va a corromper la base de datos. Si esta íntegra tu base,  el error queda totalmente eliminado. 

Espero sea útil.

César Sánchez V.M.


En respuesta a Cesar Sanchez

Re: Fallo al actualizar a moodle 3.7

de Axa Andrades Bustos -

Muchas gracias por la respuesta. La verdad es que aún no soluciono el problema ya que en este momento se está en plena etapa de uso, así que lo dejé así mientras tanto, con la versión 3.6. Te agradezco y en cuanto pueda voy a probar con la solución que me das. 😊

En respuesta a Cesar Sanchez

Re: Fallo al actualizar a moodle 3.7

de Axa Andrades Bustos -

Hola, finalmente actualicé moodle y efectivamente el problema estaba en el cotejamiento. Sucede que la base de datos tienen un cotejamiento "utf8mb4" pero sus tablas estaban solo con "utf8". Así que ahora todo funciona perfecto. Muchas gracias por la ayuda.

Axa Andrades B.

En respuesta a Cesar Sanchez

Re: Fallo al actualizar a moodle 3.7

de Horacio Martínez -
Hola gente, cómo va??!!

Como a Axa la migración de 3.6 a 3.7.1 me está trayendo varios dolores de cabeza.
Varios lo solucioné con las orientaciones de Cesar, que fueron extremadamente útiles!!
Ahora hay dos problemas que no logro solucionar:
1-Los foros han dejado de funcionar, concretamente el botón "Añadir un nuevo tema de discusión" tiene el enlace "https://mimoodle.org/mod/forum/view.php?id=4158#collapseAddForm" y no abre el formulario para colocar el nuevo tema.
En otra plataforma que administro ese mismo botón tiene el enlace "https://miotromoodle.org/csnaturales34/mod/forum/post.php?forum=239"
Otra cosa que observo es que en el primer caso el botón se arma con etiquetas (en este caso estoy usando el tema Lambda) y en el segundo con una etiqueta "imput type=submit" (en este caso estoy usando el tema "Adaptable")
2-Ha dejado de funcionar la mensajería interna.

Agradeceré cualquier orientación que puedan brindarme!!
En respuesta a Cesar Sanchez

Re: Fallo al actualizar a moodle 3.7

de Carles Martinez Sarri -
Hola,

¿Deduzco que aconsejáis mejor no actualizar moodle y instalar versión nueva a final de curso en junio?

¿Conocéis de algún manual o foro dónde se detalla como se actualiza?

Gracias
En respuesta a Carles Martinez Sarri

Re: Fallo al actualizar a moodle 3.7

de Jose Luis Martin Jimenez -
Imagen de Moodlers de gran ayuda
Hola. Salvo caso de necesidad o urgencia, lo normal sería realizar las actualizaciones cuando haya menos actividad en la plataforma. Y siempre, siempre, hacer copia de seguridad de todo antes de comenzar la actualización.

Para tu segunda pregunta, la respuesta es obvia: en la documentación oficial de Moodle, cuyo enlace puedes ver en la barra superior (https://docs.moodle.org/37/en/Main_page).
Si usas el buscador o navegas un poco por la documentación, encontrarás el apartado correspondiente a la actualización (Upgrade): https://docs.moodle.org/37/en/Upgrading

Saludos.
En respuesta a Cesar Sanchez

Re: Fallo al actualizar a moodle 3.7

de Oscar cordova -
Hola Cesar, soy nuevo con moodle.

Te explico un poco mi problema, anteriormente se tenían algunos moodle sin actualizar donde trabajo en varias versiones partiendo de la 1.9.

al migrar de servidor fui actualizando escalarmente como decían la documentación hasta la 3.5 que era la ultima en su momento, en el servidor nuevo tengo la gestión de proyectos con plesk el cual tenia las actualizaciones automáticas activadas de un moodle me reportaron el error y restaure la copia de seguridad pero el daño estaba hecho ya que me afecto la bd de datos.

Me explico mejor quedo la actualización a medias y siguieron trabajando en la plataforma ya seguia funcionando sin problemas!!

Decían que actualizando se podía quitar este problema, cuando empece actualizar los moodle este en particular me dio problemas.

Actualmente en la tabla confi me reporta la versión 3.6

Y al actualizar me da los siguientes errores


Errtores de Plugin

Instalando actualizaciones disponibles
Descargando mod_customcert ... OK
Descargando mod_hvp ... OK
Descargando quiz_cbmgrades ... OK
Descargando block_configurable_reports ... OK
Descargando theme_academi ... OK
Descargando theme_adaptable ... OK
Descargando local_mailtest ... OK
Validando mod_customcert ... Error
[Error] Versión de Moodle requerida [2019052000]
Instalación abortada debido a error de validación


sistema Moodle

La tabla "badge_alignment" ya existe


Más información sobre este error

Debug info: can not rename table
Error code: ddltablealreadyexists

Stack trace:
line 512 of /lib/ddl/database_manager.php: ddl_exception thrown
line 2869 of /lib/db/upgrade.php: call to database_manager->rename_table()
line 1809 of /lib/upgradelib.php: call to xmldb_main_upgrade()
line 518 of /admin/index.php: call to upgrade_core()




Lei tu post sobre la codificación y me lance de cabeza en la bd de datos con querys modificando todas las tablas y su codificación nuevamente procedí actualizar y me dio el mismo error

Stack trace:
line 512 of /lib/ddl/database_manager.php: ddl_exception thrown
line 2869 of /lib/db/upgrade.php: call to database_manager->rename_table()
line 1809 of /lib/upgradelib.php: call to xmldb_main_upgrade()
line 518 of /admin/index.php: call to upgrade_core()
En respuesta a Axa Andrades Bustos

Re: Fallo al actualizar a moodle 3.7

de Andres Maldonado -

Hola! 

estoy tratando de actualizar Moodle de 3.7.4 a 3.7.5 y no he podido ya que tengo un error. No tengo acceso a la página por lo tanto no puedo depurar o hacer cambios, la página está inaccesible. He buscado este error y no encuentro documentación o información. Solicito  ayuda de manera urgente, agradezco enormente al que me pueda colaborar. Dejo el paso a paso del proceso que he llevado a cabo.


Hago las respectivas verificaciones de los plugins y me indica que debo hacer un cambio en el set de caracteres


verifique  el juego de caracteres , cotejamiento de  utf8  a utf8mb4 y formato de tablas (Barracuda) realize los cambios correspondientes en la BD 


Guarde los cambios y verifique en Moodle pero me arroja un error de codificación.


En respuesta a Andres Maldonado

Re: Fallo al actualizar a moodle 3.7

de Horacio Martínez -
Hola Andrés, cómo va??!!

Te fijaste en el config.php figure la misma codificación?
Recordá que en las actualizaciones este archivo no se actualiza ;-D

Nos leemos!!
En respuesta a Horacio Martínez

Re: Fallo al actualizar a moodle 3.7

de Andres Maldonado -
Hola Horacio!

Efectivamente revisé el config.php y no tenía las mismas caracteristicas, procedí hacer los cambios respectivos y pensé que ya todo se resolveria pero aún me sigue dando dolores de cabeza este error.

de esta forma aparecía sin la modificación:


con la modificación me aparece asi:

al darle en continuar me arroja el error de siempre:

Qué crees qué esta sucediendo? cúal debería ser la solución? Agradezco la colaboración que me puedas brindar

En respuesta a Andres Maldonado

Re: Fallo al actualizar a moodle 3.7

de Horacio Martínez -
El archivo config.php es el viejo o es el la vesrión 3.7?
Si es el viejo usá el que viene en la instalación nueva "config-dist.php" pasale los datos de la base y del moodledata y probá con ese.

Por otro lado, probaste correr el script "php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci" como te explica en "https://docs.moodle.org/all/es/MySQL_soporte_unicode_completo"