Bug 13380: Follow-up - only run database update, when it hasn't been run already
As the ORDER_CANCELLATION_REASON authorised value has been backported to 3.18.5, we need to make sure that the database update is only run once. This patch adds a check for the existance of the authorised value in order to decide if the databaes update can be run. To test: - Create a branch 3.19.00.016 - Make sure you have a few orders where the cancellationreason is set (cancel an order, enter a reason) - Update your branch to master + this patch - Run the web installer - ORDER_CANCELLATION_REASON authorised value category is created - Reset your system preference Version to 3.19.00.015 - Run database update again - no changes are made, all is fine Or: - Create a branch 3.18.04 with cancelled orders - Update to latest 3.18.x - Make sure ORDER_CANCELLATION_REASON has been created - Dump database - Switch to master without this patch - Run update - verify more O_C_R were created (bad) - Load database - Update to master with this patch - All should be fine Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
parent
56a147da32
commit
ab326b368b
1 changed files with 33 additions and 26 deletions
|
@ -9876,6 +9876,8 @@ if ( CheckVersion($DBversion) ) {
|
|||
|
||||
$DBversion = "3.19.00.016";
|
||||
if(CheckVersion($DBversion)) {
|
||||
my @order_cancellation_reason = $dbh->selectrow_array("SELECT count(*) FROM authorised_values WHERE category='ORDER_CANCELLATION_REASON'");
|
||||
if ($order_cancellation_reason[0] == 0) {
|
||||
$dbh->do(q{
|
||||
INSERT INTO authorised_values (category, authorised_value, lib) VALUES
|
||||
('ORDER_CANCELLATION_REASON', 0, 'No reason provided'),
|
||||
|
@ -9906,6 +9908,11 @@ if(CheckVersion($DBversion)) {
|
|||
$i++;
|
||||
}
|
||||
print "Upgrade to $DBversion done (Bug 13380: Add the ORDER_CANCELLATION_REASON authorised value)\n";
|
||||
}
|
||||
else {
|
||||
print "Upgrade to $DBversion done (Bug 13380: ORDER_CANCELLATION_REASON authorised value already existed from earlier update!)\n";
|
||||
}
|
||||
|
||||
SetVersion($DBversion);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue