Following some good examples, I've got a function that will get triggered around the 'register_deactivation_hook'.

This functions drops the DB produced on activation.

My real question is: Could it be sound practice to decrease the table on p-activation?

I may want to p-activate it to check something and it might be annoying to loose my data for the reason that table.

Shedding a table appears appropriate to complete of you need to remove a wordpress plugin. I am unsure if there's a hook with this though.

This can be a bad idea!!!

Should you by hand update a plug-in via PHP (many people still do), you are designed to deactivate it before moving files. You could also deactivate a plug-directly into test the configuration of the site. Shedding the plug-in's database tables any time you deactivate will lead you to lose your computer data!

Most plug-inches that induce custom DB tables and records possess a separate "Un-install" operation. It is a button around the admin page or perhaps a link underneath the plug-in title around the Plug ins page. Clicking "Un-install" will take away the DB table after which deactivate the plug-in. This can be a much safer method of doing things.

You are right, there's no register_deletion_hook ... making this the very best, most typical, and simplest method to handle a complete plug-in uninstallation. Do not ever use register_deactivation_hook to decrease a DB table ...