web-dev-qa-db-ja.com

モジュールをアンインストールするときにすべての変数を削除する最良の方法

いくつかの変数(コンテンツタイプごとに3つ、4つの変数など)を書き込むモジュールを書いています。

Hook_uninstallでそれらを削除するには、どの方法を使用する必要がありますか?

「mymodule_ *」変数を検索してクエリを実行しても安全ですか?

または、コンテンツタイプと検索変数をループする必要があるので、variable_delを何度も呼び出しますか?

9
arrubiu

変数はキャッシュされるため、そのキャッシュを無効にする限り、手動で削除しても問題ありません。

db_delete('variable')
  ->condition('name', 'mymodule_%', 'LIKE')
  ->execute();

cache_clear_all('variables', 'cache_bootstrap');
10
Clive

Variable モジュールを調べて、モジュールでレジストリを使用したり、デフォルト値を設定したりすることもできます。

1
Chris Burgess