重置/还原自定义模块的更新“ N值”


12

在自定义模块的安装文件中,我具有一个hook_update_N功能。假设是mymodule_update_7100。但是,我注意到我做错了,我想在此函数中更改一行代码。看来我已经运行了updb/ update.php更改将不会被提取,我必须将其重命名为其中一个,mymodule_update_7101或者在其后使用该名称创建一个新函数。我真的不想这样做,所以我想知道是否有一个变量可以告诉Drupal模块当前位于哪个“版本号”,以及是否可以重置它来欺骗它以允许我运行更新脚本。再次。

该功能对数据库产生的实际影响并不重要,因为它只是生成一个分类术语,我可以在之后轻松地通过前端将其删除。

Answers:


18

schema_versionsystem表包含上一次成功更新的版本。操纵该值,您可以重新测试更新。

name列是模块的机器名称,与信息文件的名称相同。

该查询将为您解决问题。

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

1

Drupal 7 core的install.inc具有功能 drupal_set_installed_schema_version($module, $version)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.