Özel bir modülün 'N değeri' güncellemesini sıfırlama / geri alma


12

Özel modülümün kurulum dosyasında bir hook_update_Nfonksiyonum var. Diyelim ki mymodule_update_7100. Ancak, yanlış yaptığımı fark ettim ve bu fonksiyon içindeki bir kod satırını değiştirmek istiyorum. Zaten koştuğum gibi gördüğüm updb/ update.phpdeğişiklikler alınmayacak ve onu yeniden adlandırmak mymodule_update_7101veya o adla yeni bir işlev oluşturmak zorunda kalacaktım . Bunu yapmak zorunda kalmamayı tercih ederim, bu yüzden Drupal'a tam olarak hangi "sürüm numarası" nın tam olarak hangi modülde olduğunu söyleyen bir değişken olup olmadığını ve güncelleme komut dosyasını çalıştırmama izin vermek için onu kandırabilir miyim diye merak ediyorum tekrar.

Fonksiyonun veritabanı üzerindeki gerçek etkisi önemli değildir, çünkü daha sonra kolayca ön uçtan silebileceğim bir sınıflandırma terimi oluşturur.

Yanıtlar:


18

schema_versionSütun systemtabloda, son başarılı güncellemenin sürümünü içeriyor. Bu değeri değiştirin ve güncellemenizi tekrar test edebilirsiniz.

nameSütun bilgi dosyanızın adı aynı şekilde modülün makine adıdır.

Bu sorgu sizin için hile yapacak.

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

1

Drupal 7 çekirdeğinin install.inc işlevi var drupal_set_installed_schema_version($module, $version)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.