Drupal 7 limpiar base de datos tabla cache_form debido a Bug

shadowhck Seguir

Lambda
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
18 Ago 2009
Mensajes
2.782
Hola,

En mi entorno de desarrollo con Drupal 7, a pesar de que tenía unas cuantas entradas, la base de datos media mucho. Y después de revisar me di cuenta que la tabla cache_form ocupaba mucho espacio, y solamente se llenaba.

Leí en los foros de Drupal, y al parecer es un bug que no se vacíe según la fecha de expiración.

Para solucionar este inconveniente, podemos limpiar completamente esta tabla cada cierto tiempo mediante Cron.

En un modulo personalizado agregamos lo siguiente:

PHP:
function MODULE_NAME_cron() {
  $sql = 'DELETE FROM {cache_form} WHERE expire < UNIX_TIMESTAMP(NOW());';
  $result = db_query($sql)->fetchAll();
}

El código lo modifique de caching - How to keep cache_form small - Drupal Answers
Solo que no funcionaba.

De esta forma cada que se ejecuta el Cron, se eliminaran los datos que expiraron.

[MENTION=3092]blogers[/MENTION] :encouragement:
 

blogers

Pi
SEO
Verificación en dos pasos desactivada
Desde
22 Ago 2010
Mensajes
6.616
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Si algo parecido pasaba con la tabla watchdog si se quedaba colgada la funcion del cron nunca se limpiaba esa tabla gracias por el dato:encouragement:
Hola,

En mi entorno de desarrollo con Drupal 7, a pesar de que tenía unas cuantas entradas, la base de datos media mucho. Y después de revisar me di cuenta que la tabla cache_form ocupaba mucho espacio, y solamente se llenaba.

Leí en los foros de Drupal, y al parecer es un bug que no se vacíe según la fecha de expiración.

Para solucionar este inconveniente, podemos limpiar completamente esta tabla cada cierto tiempo mediante Cron.

En un modulo personalizado agregamos lo siguiente:

PHP:
function MODULE_NAME_cron() {
  $sql = 'DELETE FROM {cache_form} WHERE expire < UNIX_TIMESTAMP(NOW());';
  $result = db_query($sql)->fetchAll();
}

El código lo modifique de caching - How to keep cache_form small - Drupal Answers
Solo que no funcionaba.

De esta forma cada que se ejecuta el Cron, se eliminaran los datos que expiraron.

[MENTION=3092]blogers[/MENTION] :encouragement:
 

¡Regístrate y comienza a ganar!

Beneficios

  • Gana dinero por participar
  • Gana dinero por recomendarnos
  • Descubre ofertas de empleo diariamente
  • Negocios seguros
  • ¡Información premium y más!

Acceder

¿Ya tienes una cuenta? Accede aquí

Arriba