Bug 17135 - Maintenance script execution added as part of an atomic DB upgrade
authorJacek Ablewicz <abl@biblos.pk.edu.pl>
Wed, 31 Aug 2016 17:46:00 +0000 (19:46 +0200)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 16 Sep 2016 10:47:03 +0000 (10:47 +0000)
(plus warnings for 16.05+ production setups possibly already affected)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
installer/data/mysql/atomicupdate/bug_17135-fix_unclosed_nonaccruing_fines.perl [new file with mode: 0644]

diff --git a/installer/data/mysql/atomicupdate/bug_17135-fix_unclosed_nonaccruing_fines.perl b/installer/data/mysql/atomicupdate/bug_17135-fix_unclosed_nonaccruing_fines.perl
new file mode 100644 (file)
index 0000000..f6c28f9
--- /dev/null
@@ -0,0 +1,14 @@
+$DBversion = '16.06.00.XXX';
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    {
+        print "Attempting upgrade to $DBversion (Bug 17135) ...\n";
+        my $maintenance_script = C4::Context->config("intranetdir") . "/misc/maintenance/fix_unclosed_nonaccruing_fines_bug17135.pl";
+        system("perl $maintenance_script --confirm");
+        print "Upgrade to $DBversion done (Bug 17135 - Fine for the previous overdue may get overwritten by the next one)\n";
+        unless ($original_version < TransformToNum("3.23.00.032")) { ## Bug 15675
+            print "WARNING: There is a possibility (= just a possibility, it's configuration dependent etc.) that - due to regression introduced by Bug 15675 - some old fine records for overdued items (items which got renewed 1+ time while being overdue) may have been overwritten in your production 16.05+ database. See Bugzilla reports for Bug 14390 and Bug 17135 for more details.\n";
+            print "WARNING: Please note that this upgrade does not try to recover such overwitten old fine records (if any) - it's just an follow-up for Bug 14390, it's sole purpose is preventing eventuall further-on overwrites from happening in the future. Optional recovery of the overwritten fines (again, if any) is like, totally outside of the scope of this particular upgrade!\n";
+        }
+        SetVersion ($DBversion);
+    }
+}