http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=7167

--- Comment #37 from Ian Walls <[email protected]> 2012-01-06 
13:36:26 UTC ---
Counter proposal:

Just like we initially thought
* patches would be submitted in a specific file, in atomicupdate directory
* a new file (YAML) would be added, that would have 2 columns, one for
the version number, one for the atomicupdate file name
* updatedatabase wouldn't change anymore: we would just add something like :
LoadYAMLFile()
ForEachLine {
    if (C4::Context->preference("Version") < FirstColumnYAML) {
        exec(secondColumnYAML);
        SetVersion (FirstColumnYAML);
    }
}
The YAML file would be updated only by the Release Manager, when he
pushes a patch.

But additionally,

* Each atomic update would be named descriptively, not numerically. 
Preferrably referencing the bug number
* The updates would all have the following 4 functions:
  CHECK: determines if the change is needed
  DESCRIBE: display the text for what this change is supposed to do
  DO:  execute the change
  UNDO:  revert the change
* CHECK would always be run first.  If the change is warranted, DESCRIBE would
be run.  After a confirmation from the user, DO is run.
* Similar process could be implemented to downgrade Koha, using UNDO instead of
DO.

This solves linearity, in that any update can DOne in any order.

It also makes reverting patches easier; if a patch you're testing contains a DB
update, you can run the UNDO before switching back to master.  This prevents
cumulative database corruption from testing DB-rev patches

Duplicate Key entries and other problems that could come from running an update
twice are avoided.

Update descriptions can be viewed in advance, so you know what you're going to
get.

-- 
Configure bugmail: 
http://bugs.koha-community.org/bugzilla3/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to