Remover duplicidade de usuário no Moodle

Remover duplicidade de usuário no Moodle

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

Caso o cadastro de um usuário estiver duplicado no Moodle, e cada cadastro tem inscrição nos cursos e estiver acessando, a solução seria unificar os cadastros. 

Vamos supor que usuário 1 com id 10 seja o mesmo que usuário 2 com id 11. Neste caso, o processo de unificação requer um trabalho no nível cirúrgico. Ta claro que tou falando do operação em nível de SQL e PHP. 

Bem vamos lá:

Nos comandos SQL  a seguir você substituir id 11 para id 10, ou seja, vai transferir tudo que estiver no usuário 2 usuário 1

1) Unificar inscrição no curso 

UPDATE  mdl_role_assignments SET userid=? WHERE userid=?

2) Unificar status de inscrição  no curso 

UPDATE  mdl_user_enrolments  SET userid=? WHERE userid=?

3) Unificar registro de nota no quadro geral de nota / atividades

UPDATE  mdl_grade_grades  SET userid=? WHERE userid=?


Observação

    A mesma operação deve ser feita no histórico de notas em todas as tabelas dos plugins que têm registro de nota e que registro atividades do aluno como enquete, questionário, fórum etc. 

4) Unificar registro de atividades concluídas

UPDATE  mdl_course_modules_completion  SET userid=? WHERE userid=?

5) Unificar registro de cursos concluídos

UPDATE  mdl_course_completions   SET userid=? WHERE userid=?

5) Unificar registro de log

UPDATE  mdl_course_modules_completion   SET userid=? WHERE userid=?

6) Unificar registro de campos do perfil

UPDATE  mdl_user_info_data   SET userid=? WHERE userid=?

7) Outros

Faça uma mapeamento em todas as tabelas onde tiver coluna userid, processa essa operação. Neste caso o PHP vai ser uma mão na roda. Só apontei exemplos das tabelas mais comuns.