Bug 11484: Add option to cleanup_database.pl to purge Z39.50 search records from reservoir
It would be good to be able to specifically target import records from Z39.50 for cleanup. Test Plan: 1) Apply this patch 2) Import one or more batch record sets into Koha 3) Perform some Z39.50 searches 4) Run this command: misc/cronjobs/cleanup_database.pl -v --z3950 5) Verify that only Z39.50 records were deleted Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
parent
de81d7abe4
commit
f796d1002a
1 changed files with 31 additions and 2 deletions
|
@ -58,6 +58,8 @@ Usage: $0 [-h|--help] [--sessions] [--sessdays DAYS] [-v|--verbose] [--zebraqueu
|
|||
--merged purged completed entries from need_merge_authorities.
|
||||
--import DAYS purge records from import tables older than DAYS days.
|
||||
Defaults to 60 days if no days specified.
|
||||
--z3950 purge records from import tables that are the result
|
||||
of z39.50 searches
|
||||
--logs DAYS purge entries from action_logs older than DAYS days.
|
||||
Defaults to 180 days if no days specified.
|
||||
--searchhistory DAYS purge entries from search_history older than DAYS days.
|
||||
|
@ -66,7 +68,11 @@ USAGE
|
|||
exit $_[0];
|
||||
}
|
||||
|
||||
my ( $help, $sessions, $sess_days, $verbose, $zebraqueue_days, $mail, $purge_merged, $pImport, $pLogs, $pSearchhistory);
|
||||
my (
|
||||
$help, $sessions, $sess_days, $verbose,
|
||||
$zebraqueue_days, $mail, $purge_merged, $pImport,
|
||||
$pLogs, $pSearchhistory, $pZ3950
|
||||
);
|
||||
|
||||
GetOptions(
|
||||
'h|help' => \$help,
|
||||
|
@ -77,6 +83,7 @@ GetOptions(
|
|||
'zebraqueue:i' => \$zebraqueue_days,
|
||||
'merged' => \$purge_merged,
|
||||
'import:i' => \$pImport,
|
||||
'z3950' => \$pZ3950,
|
||||
'logs:i' => \$pLogs,
|
||||
'searchhistory:i' => \$pSearchhistory,
|
||||
) || usage(1);
|
||||
|
@ -94,7 +101,15 @@ if ($help) {
|
|||
usage(0);
|
||||
}
|
||||
|
||||
if ( !( $sessions || $zebraqueue_days || $mail || $purge_merged || $pImport || $pLogs || $pSearchhistory ) ) {
|
||||
unless ( $sessions
|
||||
|| $zebraqueue_days
|
||||
|| $mail
|
||||
|| $purge_merged
|
||||
|| $pImport
|
||||
|| $pLogs
|
||||
|| $pSearchhistory
|
||||
|| $pZ3950 )
|
||||
{
|
||||
print "You did not specify any cleanup work for the script to do.\n\n";
|
||||
usage(1);
|
||||
}
|
||||
|
@ -172,6 +187,12 @@ if($pImport) {
|
|||
print "Done with purging import tables.\n" if $verbose;
|
||||
}
|
||||
|
||||
if($pZ3950) {
|
||||
print "Purging z39.50 records from import tables.\n" if $verbose;
|
||||
PurgeZ3950();
|
||||
print "Done with purging z39.50 records from import tables.\n" if $verbose;
|
||||
}
|
||||
|
||||
if($pLogs) {
|
||||
print "Purging records from action_logs.\n" if $verbose;
|
||||
$sth = $dbh->prepare("DELETE FROM action_logs WHERE timestamp < date_sub(curdate(), interval ? DAY)");
|
||||
|
@ -232,3 +253,11 @@ sub PurgeImportTables {
|
|||
ba.upload_timestamp < date_sub(curdate(), interval ? DAY)");
|
||||
$sth->execute($pImport) or die $dbh->errstr;
|
||||
}
|
||||
|
||||
|
||||
sub PurgeZ3950 {
|
||||
$sth = $dbh->prepare(q{
|
||||
DELETE FROM import_batches WHERE batch_type = 'z3950'
|
||||
});
|
||||
$sth->execute() or die $dbh->errstr;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue