Bug 38394: Remove existing try/catch and say_failure from DB revs

On bug 37895 we have failed to propose a solution to encapsulate exceptions and rethrow them.

Until this is ready we should not try/catch and so use say_failure from our DB revs.

We want to stop the DB update process when something is wrong. In those
try/catch we are actually continuing even if something bad happens.

As RaiseError is set on the dbh, say_failure statements will never be
reached.

Test plan:
checkout origin/24.05.0
reset_all
checkout main + this patch
updatedatabase

Everything should run fine.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Jonathan Druart 2024-11-07 15:10:01 +01:00 committed by Katrin Fischer
parent fe495d19df
commit 4ccdb714ec
No known key found for this signature in database
GPG Key ID: 0EF6E2C03357A834
61 changed files with 93 additions and 132 deletions

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "BUG_NUMBER",
@ -31,7 +31,6 @@ return {
say $out "Added 'XXX' HTML customization";
# Other information
say_failure( $out, "Use red for danger/failure" );
say_success( $out, "Use green for success" );
say_warning( $out, "Use yellow for warning/a call to action" );
say_info( $out, "Use blue for further information" );

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36120",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "31097",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "19768",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36819",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36665",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "26176",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36986",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36453",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "34597",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "18493",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35639",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35597",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36330",
@ -9,22 +9,14 @@ return {
my ( $dbh, $out ) = @$args{qw(dbh out)};
# Update columns, only changing the COMMENT
my $affected1 = $dbh->do(
$dbh->do(
q{ ALTER TABLE course_items MODIFY `location` varchar(80) DEFAULT NULL COMMENT 'new shelving location for the item to have while on reserve (optional)' }
);
if ($affected1) {
say_success( $out, "Comment for course_items.location was updated." );
} else {
say_failure( $out, "Comment for course_items.location was not updated." );
}
my $affected2 = $dbh->do(
say_success( $out, "Comment for course_items.location was updated." );
$dbh->do(
q{ ALTER TABLE course_items MODIFY `enabled` enum('yes','no') NOT NULL DEFAULT 'no' COMMENT 'if at least one enabled course has this item on reserve, this field will be ''yes'', otherwise it will be ''no''' }
);
if ($affected2) {
say_success( $out, "Comment for course_items.enabled was updated." );
} else {
say_failure( $out, "Comment for course_items.enabled was not updated." );
}
say_success( $out, "Comment for course_items.enabled was updated." );
},
};

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35153",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "33317",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "34481",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37216",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "26205",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "18317",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "33363",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36453",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "28924",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "13888",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
use Array::Utils qw( array_minus );
return {

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "23781",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36996",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35539",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37419",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36757",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35044",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "26777",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "20411",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "27490",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37757",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => '37592',
@ -31,17 +31,11 @@ return {
ALTER TABLE bookings ADD COLUMN modification_date DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'The datetime for when a booking has been updated'
SQL
if ( @{$existing_columns} == 0 ) {
if ( $dbh->do("$creation_date_statement AFTER `end_date`") ) {
say_success( $out, q{Added column 'bookings.creation_date'} );
} else {
say_failure( $out, q{Failed to add column 'bookings.creation_date': } . $dbh->errstr );
}
$dbh->do("$creation_date_statement AFTER `end_date`");
say_success( $out, q{Added column 'bookings.creation_date'} );
if ( $dbh->do("$modification_date_statement AFTER `creation_date`") ) {
say_success( $out, q{Added column 'bookings.modification_date'} );
} else {
say_failure( $out, q{Failed to add column 'bookings.modification_date': } . $dbh->errstr );
}
$dbh->do("$modification_date_statement AFTER `creation_date`");
say_success( $out, q{Added column 'bookings.modification_date'} );
return;
}
@ -61,11 +55,8 @@ return {
$statement = "$modification_date_statement AFTER `creation_date`";
}
if ( $dbh->do($statement) ) {
say_success( $out, "Added column 'bookings.$column'" );
} else {
say_failure( $out, "Failed to add column 'bookings.$column': " . $dbh->errstr );
}
$dbh->do($statement);
say_success( $out, "Added column 'bookings.$column'" );
}
}
},

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => '37601',
@ -20,10 +20,7 @@ return {
ALTER TABLE `bookings`
ADD COLUMN `status` ENUM('new', 'cancelled', 'completed') NOT NULL DEFAULT 'new' COMMENT 'current status of the booking' $after;
SQL
if ( $dbh->do($statement) ) {
say_success( $out, q{Added column 'bookings.status'} );
} else {
say_failure( $out, q{Failed to add column 'bookings.status'} );
}
$dbh->do($statement);
say_success( $out, q{Added column 'bookings.status'} );
},
};

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "23685",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37856",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35655",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37967",
@ -8,17 +8,13 @@ return {
my ($args) = @_;
my ( $dbh, $out ) = @$args{qw(dbh out)};
try {
$dbh->do(
q{
INSERT IGNORE INTO message_transports (`message_attribute_id`, `message_transport_type`, `is_digest`, `letter_module`, `letter_code`) VALUES
(9, 'phone', 1, 'circulation', 'AUTO_RENEWALS_DGST'),
(9, 'phone', 0, 'circulation', 'AUTO_RENEWALS');
}
);
say_success( $out, "Added phone messaging transports for auto-renewals" );
} catch {
say_failure( $out, "Error adding phone messaging transports for auto-renewals: $_" );
};
$dbh->do(
q{
INSERT IGNORE INTO message_transports (`message_attribute_id`, `message_transport_type`, `is_digest`, `letter_module`, `letter_code`) VALUES
(9, 'phone', 1, 'circulation', 'AUTO_RENEWALS_DGST'),
(9, 'phone', 0, 'circulation', 'AUTO_RENEWALS');
}
);
say_success( $out, "Added phone messaging transports for auto-renewals" );
},
};

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37954",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36798",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "36766",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "28575",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "23295",
@ -14,14 +14,10 @@ return {
say_success ( $out, "Added new system preference 'RestrictPatronsWithFailedNotices'" );
try {
$dbh->do(
q{INSERT IGNORE INTO restriction_types (code, display_text, is_system, is_default) VALUES ('NOTICE_FAILURE_SUSPENSION', 'Notice failure suspension', 1, 0)}
);
say_success( $out, "Added new system restriction type 'NOTICE_FAILURE_SUSPENSION'" );
} catch {
say_failure( $out, "Database modification failed with errors: $_" );
};
$dbh->do(
q{INSERT IGNORE INTO restriction_types (code, display_text, is_system, is_default) VALUES ('NOTICE_FAILURE_SUSPENSION', 'Notice failure suspension', 1, 0)}
);
say_success( $out, "Added new system restriction type 'NOTICE_FAILURE_SUSPENSION'" );
},
};

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "30955",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "37969",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => '38193',
@ -18,10 +18,7 @@ return {
ALTER TABLE `bookings`
ADD COLUMN `cancellation_reason` varchar(80) DEFAULT NULL COMMENT 'optional authorised value BOOKING_CANCELLATION' AFTER `status`;
SQL
if ( $dbh->do($statement) ) {
say_success( $out, q{Added column 'bookings.cancellation_reason'} );
} else {
say_failure( $out, q{Failed to add column 'bookings.cancellation_reason'} );
}
$dbh->do($statement);
say_success( $out, q{Added column 'bookings.cancellation_reason'} );
},
};

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => '28833',

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35906",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "38222",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35659",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "33484",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "38274",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "30648",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "14180",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "35305",

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
use Try::Tiny;
return {
@ -10,19 +10,12 @@ return {
my ( $dbh, $out ) = @$args{qw(dbh out)};
if ( !column_exists( 'currency', 'p_cs_precedes' ) ) {
try {
$dbh->do(
q{
$dbh->do(
q{
ALTER TABLE `currency` ADD COLUMN `p_cs_precedes` tinyint(1) DEFAULT 1 AFTER p_sep_by_space
}
);
say_success( $out, "Added column 'currency.p_cs_precedes'" );
} catch {
say_failure(
$out,
"Adding column 'currency.p_cs_precedes' failed with errors: $_"
);
};
}
);
say_success( $out, "Added column 'currency.p_cs_precedes'" );
} else {
say_info( $out, "Column 'currency.p_cs_precedes' already exists" );
}

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
use C4::Context;
use Koha::Reports;

View File

@ -1,5 +1,5 @@
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_failure say_success say_info);
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "33462",