it-swarm.com.de

Zurücksetzen / Zurücksetzen des Aktualisierungs-N-Werts eines benutzerdefinierten Moduls

In der Installationsdatei meines benutzerdefinierten Moduls habe ich eine hook_update_N - Funktion. Nehmen wir an, es ist mymodule_update_7100. Ich habe jedoch festgestellt, dass ich es falsch gemacht habe und eine Codezeile innerhalb dieser Funktion ändern möchte. Da ich bereits updb/update.php Ausgeführt habe, werden die Änderungen nicht übernommen und ich müsste sie entweder in mymodule_update_7101 Umbenennen oder danach eine neue Funktion erstellen es mit diesem Namen. Ich würde das wirklich lieber nicht tun müssen, also habe ich mich gefragt, ob es eine Variable gibt, die Drupal genau sagt, unter welcher "Versionsnummer" sich ein Modul gerade befindet und ob ich es auf Trick zurücksetzen kann Damit kann ich das Update-Skript erneut ausführen.

Die tatsächliche Auswirkung der Funktion auf die Datenbank ist nicht wichtig, da lediglich ein Taxonomiebegriff generiert wird, den ich anschließend problemlos über das Front-End löschen kann.

12
Matt Fletcher

Die Spalte schema_version In der Tabelle system enthält die Version des letzten erfolgreichen Updates. Wenn Sie diesen Wert ändern, können Sie Ihr Update erneut testen.

Die Spalte name ist der Computername des Moduls, genau wie die Infodatei benannt ist.

Diese Abfrage erledigt den Trick für Sie.

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

Die install.inc von Drupal 7 Core hat die Funktion drupal_set_installed_schema_version($module, $version)

1
Patrick W