Corrigir erro de duplicação de registro de item de avaliação no Moodle

Corrigir erro de duplicação de registro de item de avaliação no Moodle

por Lino Vaz Moniz -
Número de respostas: 0

Na plataforma Moodle, é comum ocorrer duplicação do registro da nota final. Esse erro geralmente acontece com a API não padrão do Moodle que cria categoria de item de avaliação na tabela mdl_grade_categories. Um outro cenário em que o erro ocorre é quando se tenta importar conteúdo para um curso via algum processo de cron, e ocorrem duas operações simultâneas, o que acaba duplicando o registro no nível 1 na tabela mdl_grade_categories e também na tabela mdl_grade_items, no item do tipo course. Se a replicação ocorrer na tabela mdl_grade_categories, ao acessar o curso pela interface, o Moodle automaticamente gera duplicação na tabela mdl_grade_items.


Os comandos SQL para mapear a duplicação podem ser encontrados neste post:  Como solucionar erro de duplicação de nota: Encontrado mais de um registro no fetch() 
Os erros, via de regra, que ocorrem são:
linha 367 de /lib/grade/grade_item.php: chamada para grade_object::fetch_helper()
morethanonerecordinfetch
error/debug/morethanonerecordinfetch

Esse erro geralmente impede qualquer processo de backup do curso e acesso à área de notas.


Para resolver, mapeie o id dos registros.

DELETE FROM mdl_grade_items  WHERE id=?

DELETE FROM mdl_grade_categories  WHERE id=?