カスタムモジュールの更新「N値」をリセット/元に戻す


12

私のカスタムモジュールのインストールファイルには、hook_update_N関数があります。それだとしましょうmymodule_update_7100。しかし、間違っていることに気づき、この関数内のコード行を変更したいと思います。私はすでに実行してきたように見てupdb/ update.php変更がピックアップされないだろうと私はどちらかに名前を変更する必要があるだろうmymodule_update_7101か、その名前で、それの後に新しい関数を作成します。私は実際にこれを行う必要はないので、モジュールの現在の「バージョン番号」を正確にDrupalに伝える変数があるかどうか、そしてそれをリセットして更新スクリプトを実行できるようにすることができるかどうか疑問に思っていました再び。

関数がデータベースに及ぼした実際の影響は重要ではありません。それは、後でフロントエンドを介して簡単に削除できる分類用語を生成するだけだからです。

回答:


18

表のschema_version列にsystemは、最後に成功した更新のバージョンが含まれています。その値を操作すると、更新を再テストできます。

このname列はモジュールのマシン名で、情報ファイルと同じ名前です。

このクエリはあなたのためのトリックを行います。

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

1

Drupal 7コアのinstall.incには機能があります drupal_set_installed_schema_version($module, $version)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.