Drupal 7 limpiar base de datos tabla cache_form debido a Bug

shadowhck

Lambda
Programador
Verificación en dos pasos desactivada
Desde
18 Ago 2009
Mensajes
2.777
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.627
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:
 

Crea una cuenta o accede para comentar

Debes ser un miembro para poder comentar

Crear cuenta

Crea una cuenta en nuestra comunidad

Acceder

¿Ya tienes una cuenta? Accede aquí


Arriba