Menyetel ulang / mengembalikan pembaruan modul khusus 'N value'

12

Dalam file instal modul khusus saya, saya memiliki hook_update_Nfungsi. Katakan saja itu mymodule_update_7100. Namun, saya perhatikan bahwa saya telah melakukan kesalahan dan saya ingin mengubah satu baris kode di dalam fungsi ini. Melihat saya sudah menjalankan updb/ update.phpperubahan tidak akan diambil dan saya harus mengubah nama menjadi salah satu mymodule_update_7101atau membuat fungsi baru setelah itu dengan nama itu. Saya benar-benar lebih suka tidak harus melakukan ini, jadi saya bertanya-tanya apakah ada variabel yang memberitahu Drupal apa "nomor versi" modul saat ini dan apakah saya dapat mengatur ulang untuk mengelabui agar memungkinkan saya untuk menjalankan skrip pembaruan lagi.

Efek sebenarnya dari fungsi pada database tidak penting karena hanya menghasilkan istilah taksonomi yang dapat saya hapus dengan mudah melalui front-end sesudahnya.

Matt Fletcher
sumber

Jawaban:

18

The schema_versionkolom dalam systemtabel berisi versi update terakhir yang berhasil. Manipulasi nilai itu dan Anda dapat menguji kembali pembaruan Anda.

The namekolom nama mesin dari modul, sama seperti file Info bernama.

Permintaan ini akan melakukan trik untuk Anda.

UPDATE system SET schema_version = XXXX WHERE name = 'name_of_module';
Pelajaran
sumber
1

Install.inc Drupal 7 core memiliki fungsi drupal_set_installed_schema_version($module, $version)

Patrick W
sumber