This is a spin off from #922996-3: Upgrade path is broken since update.php does not enforce empty module list. So we have a module, say mollom, that fires an info hook and stores data on behalf of other modules based on that info hook. It has an update which also fires this info hook and updates based on that. Now, let's say ubercart has mollom integration.

  1. I enable UC
  2. I enable Mollom
  3. I have problems with my merchant gateway so for the time being, i disable UC
  4. A Mollom security fix comes, so I update and it comes with an update , I run the update
  5. I reenable UC
  6. Now my site is broken because the update did not run for UC.

this exists in Drupal 6 and Drupal 7 both. You can't just enable disabled modules during update because then what happens if someone runs a node_save and a module adds something the system can't interpret during normal run when the module is gone again.

So what we need here is an update helper that you can fire before calling a Drupal function and it sets up module_list to contain or not contain disabled modules.

Comments

sun’s picture

David_Rothstein’s picture

Component: update system » ajax system
David_Rothstein’s picture

Component: ajax system » database update system

Oops.

chx’s picture

Status: Active » Closed (won't fix)

We can't fire hooks during update regardless of modules being enabled or not because any hook can do basically anything including accessing database tables that are not yet upgraded.