[Tickets #8100] Enhancement ideas to make upgrade scripts less confusing (in the long term)

bugs at horde.org bugs at horde.org
Wed Mar 18 17:52:07 UTC 2009


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/8100
------------------------------------------------------------------------------
  Ticket             | 8100
  Created By         | kyrian at ore.org
  Summary            | Enhancement ideas to make upgrade scripts less
                     | confusing (in the long term)
  Queue              | Horde Base
  Version            | 3.3.3
  Type               | Enhancement
  State              | New
  Priority           | 2. Medium
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


kyrian at ore.org (2009-03-18 13:52) wrote:

With reference to among others: http://bugs.horde.org/ticket/1063

I've been running Horde stuff for a very long time in a number of  
different places etc, and I'm consistently vexed by the upgrade scripts.

They're great, and they do what they say on the tin, but the first  
place people are pointed to when they run into problems is 'have you  
run all the update scripts'?

Well, having run Horde tools for ages, that becomes ever more  
difficult to answer, because there is no built-in way to determine if  
each upgrade script has actually been run before.

This has caused all sorts of duplication in my main Horde  
installation, and frustration when trying to fix eg. the  
aforementioned bug.

In the case of SQL upgrade scripts, I guess a wrapper is needed, but  
still, I would propose one of the following methods be implemented for  
all upgrade scripts in future to help with this issue:

- Ideally, the scripts auto-detect if they have already been run, and abort.

- The scripts delete themselves after they have been run.

- The scripts touch a file that says "X script has been run" and you  
could use the timestamp or existence of that file to work out what's  
happened.

Further, running these scripts in the wrong order (which will tend to  
happen if you don't know which of them you ran last when you upgraded  
the preceeding time!) can really cause problems with an installation,  
so having some method (perhaps a similar one) of making sure they are  
done in order is also important.

Perhaps there is some way to leverage the PHP Shell/SQL Shell  
Administration systems, and some kind of upgrade hunter which scans  
scripts/upgrades/ for each app, and stores in a database once they  
have been run (thus avoiding the re-run and forgetting how far you got  
problem) would be most in keeping with 'the horde way'? If someone can  
give me a pointer on where to start I could give that a go myself...







More information about the bugs mailing list