It's preferred to explicitly delete every variable created by the module you're uninstalling. If you do this in amazon module: "delete from variable where name like 'amazon_%'" you will delete the variables for amazon_store as well. Ooops. Not so good. -Randy On Thu, May 26, 2011 at 4:58 PM, Peter Anderson <list@panda.id.au> wrote:
Hi all,
I have a module that uses quite a few variables and would like to remove them in my hook_uninstall() function, but I don't want to have to list them all manually...
I see three ways to do this: 1 - Run variable_del() for each variable manually 2 - List all variables then remove the ones that start with my module's name 3 - Delete variables directly from the database that start with my module's name
I'm obviously trying to avoid #1. I've used #2 before (http://drupalbin.com/18718) but am worried about the possible performance implications of running a foreach() on every variable in Drupal... Is this good or not? I'd prefer not to resort to using SQL to delete variables from the database directly as in #3, but this may be the only recommended option...
What is the recommended way to call variable_del() on a bunch of variables? I'm using D7 if that helps. Thanks.
-- Kind regards, Peter Anderson.http://panda.id.au
-- Randy Fay Drupal Module and Site Development randy@randyfay.com +1 970.462.7450