Drupal 7 limpiar base de datos tabla cache_form debido a Bug

shadowhck Seguir

Lambda
Programador
Verificado por Whatsapp
Desde
18 Ago 2009
Mensajes
2.772
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
Desde
22 Ago 2010
Mensajes
6.590
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:
 
Arriba