Eliminación "fisica" de usuarios en la plataforma Moodle

Eliminación "fisica" de usuarios en la plataforma Moodle

de Eduardo Hm -
Número de respuestas: 4

Buenos días,


Desde hace varios meses, estoy planificando una "limpieza" a fondo de varias plataformas Moodle de las cuales soy administrador. Dicha limpieza consta de la eliminación de cursos en base a la fecha de creación, ya que hay muchos cursos obsoletos que ya no se usan en la plataforma. Otra de las tareas que quiero hacer es la eliminación "fisica" de usuarios. Tengo una media de 20 mil usuarios en las plataformas que administro, y hay usuarios que ya estan eliminados de la plataforma, campo "deleted" a 1 en la tabla mdl_user. Ahora quiero ir un poco mas alla, y eliminar directamente dichos registros para que las consultas queden mas limpias, pero lo que no se es cómo puedo eliminar no solo usuarios con el campo "deleted" a 1 de la tabla mdl_user, sino tambien todos los registros relacionados en las multiples tablas que tiene la plataforma, por ejemplo, registros de entrega de tareas de dichos usuarios, registros de finalización de cuestionarios, etc...


Puedo borrar el registro en la tabla mdl_user, pero no me sirve de nada si despues van a quedar registros huerfanos asociados al identificador del usuario que estoy eliminando en las demas tablas de la base de datos de la plataforma.


¿Hay algun procedimiento que realice todo esto?


Muchas gracias de antemano.

Promedio de valoraciones: -
En respuesta a Eduardo Hm

Re: Eliminación "fisica" de usuarios en la plataforma Moodle

de Fernando Acedo -

Nunca eliminar información de la BBDD directamente.

Moodle tiene varias herramientas para la limpieza de usuarios.

En Servidor > Limpieza puedes eliminar información histórica anticuada.

En Usuarios > Cuentas > Acciones de usuario masivas puedes filtrar usuarios y eliminarlos.

 

 

 

En respuesta a Fernando Acedo

Re: Eliminación "fisica" de usuarios en la plataforma Moodle

de Eduardo Hm -

Buenas tardes Fernando,


Muchisimas gracias por tu respuesta. He realizado pruebas usando la opcion de Borrado masivo de los usuarios dentro de la administración de cuentas de usuarios de la plataforma, y perfecto, te elimina cualquier rastro de los usuarios seleccionados a borrar en todas las tablas relacionadas que contengan información de dichos usuarios.


Tambien he comprobado que  cambia el valor del campo "username" de la tabla mdl_user y te pone 1 al campo "deleted". Y es aqui cuando puedo yo eliminar dichos usuarios de forma física de la plataforma, porque muchos de ellos son usuarios de pruebas de tests, usuarios de pruebas de los docentes que ya no se usan, etc etc, y queda "feo" toda esa información, por lo que no creo que haya problemas a la hora de realizar un delete selectivo de la tabla mdl_users.


En respuesta a Eduardo Hm

Re: Eliminación "fisica" de usuarios en la plataforma Moodle

de Fernando Acedo -

Como has podido ver, moodle no borra fisicamente sino que marca los usuarios como eliminados.

La tabla mdl_users tiene relación con muchas otras y eliminar información directamente te dejara huerfanas otras filas en otras tablas.

Si quieres borrar usuarios de prueba, puedes borrarlos cambiando el valor que has indicado de 0 a 1, o eliminarlos desde el listado de usuarios.

 

En respuesta a Fernando Acedo

Re: Eliminación "fisica" de usuarios en la plataforma Moodle

de Eduardo Hm -

Buenas Fernando,


Si si conozco como funciona el eliminado de los usuarios en Moodle, que no es un eliminado físico sino que marcas el valor "deleted" a 1 en el registro correspondiente. A lo que voy, si yo hago una eliminación masiva desde el listado de usuarios, esa eliminación te elimina todas las relaciones de dichos usuarios con las tablas donde estén referenciados y marca a 1 el campo "deleted" de la tabla mdl_user. ¿Es esto cierto? Si se comporta de esta manera, podría eliminar fisicamente dichos registros de mdl_user ya que no quedaría ningun registro huerfano.