Restablecer / revertir la actualización de un módulo personalizado 'Valor N'

12

En el archivo de instalación de mi módulo personalizado tengo una hook_update_Nfunción. Digamos que es mymodule_update_7100. Sin embargo, he notado que lo he hecho mal y quiero cambiar una línea de código dentro de esta función. Como ya he ejecutado updb/ update.phplos cambios no se recogerán y tendría que cambiarle el nombre mymodule_update_7101o crear una nueva función después con ese nombre. Realmente preferiría no tener que hacer esto, así que me preguntaba si hay una variable que le diga a Drupal exactamente en qué "número de versión" se encuentra actualmente un módulo y si puedo restablecerlo para engañarlo y permitirme ejecutar el script de actualización de nuevo.

El efecto real que ha tenido la función en la base de datos no es importante porque solo está generando un término de taxonomía que luego puedo eliminar fácilmente a través del front-end.

Matt Fletcher
fuente

Respuestas:

18

La schema_versioncolumna en la systemtabla contiene la versión de la última actualización exitosa. Manipule ese valor y puede volver a probar su actualización.

La namecolumna es el nombre de la máquina del módulo, igual que el nombre del archivo de información.

Esta consulta hará el truco por ti.

UPDATE system SET schema_version = XXXX WHERE name = 'name_of_module';
Letharion
fuente
1

Install.inc de Drupal 7 core tiene la función drupal_set_installed_schema_version($module, $version)

Patrick W
fuente