Cómo Borrar la Tabla de Log’s

Cuando instalamos el Magento varias tablas se crean, entre ellas, las tablas de registro de navegación.

Este registro es diferente del registro del sistema, que discutimos aquí en el blog en Comprobar registro del sistema. La diferencia es que el registro de navegación registra el paso de sus clientes y visitantes por el sitio.

Sí. Desde el momento en que usted coloca la tienda en el aire, todas las páginas visitadas se registran en el registro con la información del tipo de visitante, id del usuario registrado, URL visitada, fecha/hora del acceso, tipo de navegador y sistema operativo , ip, etc.

¿Y cuál es el problema?

Como este registro de navegación es continuo, los problemas pueden ocurrir cuando se realiza una importación de productos, la actualización de datos en las tablas, a veces incluso un botón de retorno (back) del navegador del cliente. Generando así un error de integridad:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry…

Es decir, el sistema intenta grabar un registro donde ya existen datos.

Otro problema sería justamente en el tamaño de su base de datos que no para crecer nunca. Cada día (desde el lanzamiento) se almacena toda la información de navegación de los usuarios.

Es obvio que esta información es importante para investigar un problema o un intento de invasión, etc. Pero después de hacer una copia de seguridad backup de esa información, este historial puede borrarse, reduciendo así el volumen de datos en sus tablas y el tamaño de sus próximos backups.

Configuración avanzada de log

Para evitar este tipo de problemas e incluso una sobrecarga de datos, es interesante que habilite la programación de limpieza del registro del sistema. Para ello acceda:

Sistema > Configuración > AVANZADO > Sistema [Limpieza de registro]

Veamos nuestras opciones de configuración:

Guardar registro, días – Indica la cantidad mínima de días que la información debe almacenarse en las tablas. Cualquier información por encima de ese período ya no necesita ser almacenada – probablemente porque ya ha realizado una copia de seguridad backup.

Habilitar limpieza de registro – De forma predeterminada se marca “No“, cambie a “ “si desea borrar las tablas automáticamente.

Hora de inicio – Puede indicar hora, minuto y segundo. Lo importante aquí es informar un horario de bajo flujo de visitantes, pues el proceso consume recursos del servidor.

Sugerencia! Busque acompañar los primeros procesos para descubrir el tiempo medio de duración – así usted puede medir mejor el horario de programación.

Frecuencia – Con qué frecuencia va a realizar la limpieza. Esto puede coincidir con su frecuencia de backup. Inicialmente usted puede comenzar con backup mensuales, y con el aumento de volumen de datos, y su importancia financiera, usted aumenta la frecuencia para semanas o días.

Configuración de la limpieza del registro

Los 3 (tres) últimos campos se refieren al correo electrónico de error. Siempre que haya una falla en la limpieza programada de los datos, una alerta será disparada al email informado, usando el remite y los modelos informados en el sistema.

Solución de emergencia

Algunas veces el error puede impedir nuestro acceso al sistema. Y nuestra única alternativa es “atacar” la base de datos. Entonces cuando el sistema presenta un problema con las tablas de registro que no puede ser resuelto por backend, debemos utilizar un DBMS para ejecutar el script de limpieza:

SET FOREIGN_KEY_CHECKS=0;
TRUNCATE `log_customer`;
TRUNCATE `log_quote`;
TRUNCATE `log_summary`;
TRUNCATE `log_url`;
TRUNCATE `log_url_info`;
TRUNCATE `log_visitor`;
TRUNCATE `log_visitor_info`;
TRUNCATE `log_visitor_online`;
ALTER TABLE `log_customer` AUTO_INCREMENT=1;
ALTER TABLE `log_quote` AUTO_INCREMENT=1;
ALTER TABLE `log_summary` AUTO_INCREMENT=1;
ALTER TABLE `log_url` AUTO_INCREMENT=1;
ALTER TABLE `log_url_info` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1;
ALTER TABLE `log_visitor_online` AUTO_INCREMENT=1;
SET FOREIGN_KEY_CHECKS=1;

Básicamente son todas las tablas de registro menos log_summary_type. Utilizamos el comando truncate para restablecer los registros de registro de navegación, eliminando así el problema de clave duplicada.

El script funciona en todas las versiones de Magento 1.x.

¡Éxito!

Hasta que surja la oportunidad de mudarme a España, sigo ayudando desde la distancia.

Vídeo de la semana