I have been thinking about this post for a while. It really started to come to me after I went through a server move of my own website which I discussed on this site last month – Moving Your WordPress Site and Database.
I did a lot of manual cleaning of my database to get rid of orphaned tables that had been in the database since the day I first set up a WordPress based website.
The majority of these defunct tables were from either themes or plugins that I had used at different points in the life of WindowsObserver.com. As you all know you try out a lot of stuff on your site – mine had 3 years worth of it in there!
Of course I had uninstalled the theme or plugin but a majority of these do not remove the information they leave in your database.
Now I am not a developer and I have never claimed to be one nor will I. However, I do believe this is a situation that can be resolved.
You see there are quite a few plugins and themes in the WordPress repository that already have this feature built in and I have used a few.
For example – the WP-DBManager plugin by Lester Chan does this.
This is the uninstall page for the WP-DBManager and as you can see it will remove database information if you opt to uninstall the plugin. If your just deactivating it or lets say upgrading it then the options in the database will remain intact.
If this can be done then why not across the board. Why not make this a standard for inclusion in the WordPress Extend site? If your plugin or theme deposits information into a users database then provide an uninstall option to remove that data/tables.
What do you all think about this? Would really like to hear your thoughts of whether I missing something on this being doable?