[development] Removing variables

Randy Fay randy at randyfay.com
Fri May 27 03:15:08 UTC 2011


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 at 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 at randyfay.com
+1  970.462.7450
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20110526/617ed38e/attachment-0001.html 


More information about the development mailing list