Bug 9191: updatedatabase.pl should only run updates up to the current version
authorJared Camins-Esakov <jcamins@cpbibliography.com>
Mon, 3 Dec 2012 21:28:51 +0000 (16:28 -0500)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Tue, 11 Dec 2012 13:19:00 +0000 (08:19 -0500)
commita6c7ba85193f7564c2fa17ef057171ac955823cd
treeaac61966b89e2d8be7eb9e84a30dceefca150b77
parent39ce37feb509238624444306f849639eacec0780
Bug 9191: updatedatabase.pl should only run updates up to the current version

Check whether a given update should be run when passed the proposed
version number. The update will always be run if the proposed version
is greater than the current database version and less than or equal to
the version returned by C4::Context->final_linear_version (initially set
to be equal to the version in kohaversion.pl). The update is also run if
the version contains XXX, though this behavior will be changed following
the adoption of non-linear updates as implemented in bug 7167.

To test:
1) Make sure that the first example database update added by this patch
   in installer/data/mysql/updatedatabase.pl has a version number one
   greater than the version of Koha you have installed.
2) Set the Version syspref back one version behind your current version.
3) Navigate to the main page of the staff client, and log in to the
   installer.
4) Confirm that the update page claims to have rerun the previous update
   and has displayed the log message:
   "Upgrade to 3.11.00.XXX done (Bug 9191: You should see this)"
   but not the log message:
   "Upgrade to [version number] done (Bug 9191: You shouldn't see this)"

Note: the sample database revisions will be removed by the RM before
this patch is pushed to master.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
works great

Signed-off-by: Elliott Davis <elliott@test.bywatersolutions.com>
Works as expected.  Test plan is great. Code looks to be adherent to standards.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
C4/Context.pm
installer/data/mysql/updatedatabase.pl
t/db_dependent/Context.t