update.php has never really worked correctly for me, and I think a few changes could help. First of all, as far as I can tell, update.php doesn't really pay enough attention to a multi-site configuration. It would be nice if it would update all sites simultaneously and be smart enough to track tables it already updated (due to $db_prefix based table sharing).

Secondly, I think that the current version date-based method of updates isn't reliable enough. It makes it easy to accidentally miss updates, and harder to figure out which updates might actually be required. The proper solution, I think, is that each update could have a "check for update" function that checks whether or not a particular update needs to be run. This can be done easily enough with the proper SQL queries. For instance, in MySQL, checks will use mostly the SHOW keyword (http://dev.mysql.com/doc/mysql/en/show.html). Good checks, and checking before each update, would save you from having to do any tougher form of tracking from the first item.

Comments

magico’s picture

Status: Active » Closed (fixed)

It will be addressed by install system and Multi-site administration.