Standard practice for adding new fields to a table created by a contrib module I have to add a field to the webform table generated by the webform contrib module.

I was thinking about implementing the enable hook in the .install of a custom module in order to do this:

function mymodule_enable( ) {                                                
  db_query('ALTER TABLE webform ADD COLUMN is_valid int') ;
} 


But I don't know if this will generate problems if the module is disabled and enabled again in the future and tries to add the field (which would be already created by then).

Is this correct or is there a better way to do this?
Well, you could always use hook_update to generate a new field in the table. This gets executed when you do a database update.

It's even possible to use it in your own module.

http://api.drupal.org/api/drupal/modules!node!node.api.php/function/hook_update/7