Ripristino / ripristino dell'aggiornamento 'Valore N' di un modulo personalizzato


12

Nel file di installazione del mio modulo personalizzato ho una hook_update_Nfunzione. Diciamo che lo è mymodule_update_7100. Tuttavia, ho notato che ho sbagliato e voglio cambiare una riga di codice all'interno di questa funzione. Visto che ho già eseguito updb/ update.phple modifiche non verranno rilevate e dovrei rinominarlo in uno mymodule_update_7101o creare una nuova funzione dopo quella con quel nome. Preferirei davvero non doverlo fare, quindi mi chiedevo se esiste una variabile che dice a Drupal esattamente a quale "numero di versione" è attualmente un modulo e se posso resettarlo per ingannarlo permettendomi di eseguire lo script di aggiornamento ancora.

L'effettivo effetto che la funzione ha avuto sul database non è importante perché sta solo generando un termine di tassonomia che posso facilmente eliminare attraverso il front-end in seguito.

Risposte:


18

La schema_versioncolonna nella systemtabella contiene la versione dell'ultimo aggiornamento riuscito. Manipola quel valore e puoi testare nuovamente l'aggiornamento.

La namecolonna è il nome della macchina del modulo, uguale al nome del file di informazioni.

Questa query farà al caso tuo.

UPDATE system SET schema_version = XXXX WHERE name = 'name_of_module';

1

Il file install.inc di Drupal 7 core ha la funzione drupal_set_installed_schema_version($module, $version)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.