Usualmente ocurre que la bases de datos de tu WooCommerce crece a causa de las tablas wp_actionscheduler_actions y wp_actionscheduler_logs, y que llegan a ocupar un gran lugar.
En esta guía te mostraremos cómo eliminar su contenido sin afectar el funcionamiento de tu ecommerce.
💡 Este tutorial está orientado a usuarios con conocimiento avanzados, con lo que te recomendamos que si eres un usuario experimental o en aprendizaje, te apoyes en tu desarrollador amigo. 👍
Cómo eliminar los registros de tablas wp_actionscheduler_actions y wp_actionscheduler_logs
Para eliminar los registros de estas tablas cuando se ponen pesadas, usaremos el área de ejecución de comandos de SQL de PHPMyAdmin.
Como siempre, te recomendamos realizar una copia de seguridad de tu BD previa a los cambios que vayas a realizar por cualquier paso en falso que puedas dar.
👉 No te olvides de pararte sobre la base de datos sobre la que necesitas trabajar, y de cambiar en el script a continuación los prefijos de las tablas "wp_" por el que corresponda a tus tablas.
El código que utilizaremos es el siguiente:
SET SQL_MODE='ALLOW_INVALID_DATES';
CREATE TEMPORARY TABLE tmp_data_table SELECT * FROM wp_actionscheduler_actions where `status` = 'pending';
TRUNCATE TABLE wp_actionscheduler_actions;
INSERT wp_actionscheduler_actions SELECT * FROM tmp_data_table;
DROP TABLE tmp_data_table;
TRUNCATE TABLE wp_actionscheduler_logs;
¿Qué hace este código?
- Primero habilitamos a que PHPMyAdmin nos permita trabajar con fechas no válidas (por defecto son 0000-00-00 00:00:00).
- Creamos una tabla temporal con los registros pendientes de la tabla de acciones.
- Truncamos la tabla de acciones.
- Insertamos los registros pendientes almacenados en la tabla temporal.
- Borramos la tabla temporal.
- Truncamos directamente la tabla de logs ya que en este caso no queremos conservar ningún registro.
Si eres más amigo del comando DELETE, puedes ir por ese camino si lo deseas, pero ten cuidado cuando lo ejecutas.
Cómo cambiar el intervalo de limpieza de las acciones y logs de WooCommerce
Mejor que reparar es prevenir, así que una vez que hayas realizado la limpieza manualmente, te recomendamos ajustar el intervalo de días en que se realizar automáticamente.
Por defecto esto ocurre cada 30 días, pero si te está molestando y ocupando demasiado lugar en tu bases de datos, te recomendamos cambiarlo a una vez a la semana.
Agrega estas líneas a tu archivo de functions.php de tu theme y todo solucionado:
add_filter( 'action_scheduler_retention_period', function(){
return WEEK_IN_SECONDS;
} );
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.