Lines 23-28
use constant DEFAULT_ZEBRAQ_PURGEDAYS => 30;
Link Here
|
23 |
use constant DEFAULT_MAIL_PURGEDAYS => 30; |
23 |
use constant DEFAULT_MAIL_PURGEDAYS => 30; |
24 |
use constant DEFAULT_IMPORT_PURGEDAYS => 60; |
24 |
use constant DEFAULT_IMPORT_PURGEDAYS => 60; |
25 |
use constant DEFAULT_LOGS_PURGEDAYS => 180; |
25 |
use constant DEFAULT_LOGS_PURGEDAYS => 180; |
|
|
26 |
use constant DEFAULT_MESSAGES_PURGEDAYS => 365; |
26 |
use constant DEFAULT_SEARCHHISTORY_PURGEDAYS => 30; |
27 |
use constant DEFAULT_SEARCHHISTORY_PURGEDAYS => 30; |
27 |
use constant DEFAULT_SHARE_INVITATION_EXPIRY_DAYS => 14; |
28 |
use constant DEFAULT_SHARE_INVITATION_EXPIRY_DAYS => 14; |
28 |
use constant DEFAULT_DEBARMENTS_PURGEDAYS => 30; |
29 |
use constant DEFAULT_DEBARMENTS_PURGEDAYS => 30; |
Lines 50-55
use Koha::Old::Holds;
Link Here
|
50 |
use Koha::Old::Patrons; |
51 |
use Koha::Old::Patrons; |
51 |
use Koha::Item::Transfers; |
52 |
use Koha::Item::Transfers; |
52 |
use Koha::PseudonymizedTransactions; |
53 |
use Koha::PseudonymizedTransactions; |
|
|
54 |
use Koha::Patron::Messages; |
53 |
|
55 |
|
54 |
sub usage { |
56 |
sub usage { |
55 |
print STDERR <<USAGE; |
57 |
print STDERR <<USAGE; |
Lines 68-73
Usage: $0 [-h|--help] [--confirm] [--sessions] [--sessdays DAYS] [-v|--verbose]
Link Here
|
68 |
-m --mail DAYS purge items from the mail queue that are older than DAYS days. |
70 |
-m --mail DAYS purge items from the mail queue that are older than DAYS days. |
69 |
Defaults to 30 days if no days specified. |
71 |
Defaults to 30 days if no days specified. |
70 |
--merged purged completed entries from need_merge_authorities. |
72 |
--merged purged completed entries from need_merge_authorities. |
|
|
73 |
--messages DAYS purge entries from messages table older than DAYS days. |
74 |
Defaults to 365 days if no days specified. |
71 |
--import DAYS purge records from import tables older than DAYS days. |
75 |
--import DAYS purge records from import tables older than DAYS days. |
72 |
Defaults to 60 days if no days specified. |
76 |
Defaults to 60 days if no days specified. |
73 |
--z3950 purge records from import tables that are the result |
77 |
--z3950 purge records from import tables that are the result |
Lines 137-142
my $pOldIssues;
Link Here
|
137 |
my $pOldReserves; |
141 |
my $pOldReserves; |
138 |
my $pTransfers; |
142 |
my $pTransfers; |
139 |
my ( $pPseudoTransactions, $pPseudoTransactionsFrom, $pPseudoTransactionsTo ); |
143 |
my ( $pPseudoTransactions, $pPseudoTransactionsFrom, $pPseudoTransactionsTo ); |
|
|
144 |
my $pMessages; |
140 |
|
145 |
|
141 |
GetOptions( |
146 |
GetOptions( |
142 |
'h|help' => \$help, |
147 |
'h|help' => \$help, |
Lines 150-155
GetOptions(
Link Here
|
150 |
'import:i' => \$pImport, |
155 |
'import:i' => \$pImport, |
151 |
'z3950' => \$pZ3950, |
156 |
'z3950' => \$pZ3950, |
152 |
'logs:i' => \$pLogs, |
157 |
'logs:i' => \$pLogs, |
|
|
158 |
'messages:i' => \$pMessages, |
153 |
'fees:i' => \$fees_days, |
159 |
'fees:i' => \$fees_days, |
154 |
'searchhistory:i' => \$pSearchhistory, |
160 |
'searchhistory:i' => \$pSearchhistory, |
155 |
'list-invites:i' => \$pListShareInvites, |
161 |
'list-invites:i' => \$pListShareInvites, |
Lines 182-187
$mail = DEFAULT_MAIL_PURGEDAYS if defined($mail)
Link Here
|
182 |
$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; |
188 |
$pSearchhistory = DEFAULT_SEARCHHISTORY_PURGEDAYS if defined($pSearchhistory) && $pSearchhistory == 0; |
183 |
$pListShareInvites = DEFAULT_SHARE_INVITATION_EXPIRY_DAYS if defined($pListShareInvites) && $pListShareInvites == 0; |
189 |
$pListShareInvites = DEFAULT_SHARE_INVITATION_EXPIRY_DAYS if defined($pListShareInvites) && $pListShareInvites == 0; |
184 |
$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; |
190 |
$pDebarments = DEFAULT_DEBARMENTS_PURGEDAYS if defined($pDebarments) && $pDebarments == 0; |
|
|
191 |
$pMessages = DEFAULT_MESSAGES_PURGEDAYS if defined($pMessages) && $pMessages == 0; |
185 |
|
192 |
|
186 |
if ($help) { |
193 |
if ($help) { |
187 |
usage(0); |
194 |
usage(0); |
Lines 214-219
unless ( $sessions
Link Here
|
214 |
|| defined $pPseudoTransactions |
221 |
|| defined $pPseudoTransactions |
215 |
|| $pPseudoTransactionsFrom |
222 |
|| $pPseudoTransactionsFrom |
216 |
|| $pPseudoTransactionsTo |
223 |
|| $pPseudoTransactionsTo |
|
|
224 |
|| $pMessages |
217 |
) { |
225 |
) { |
218 |
print "You did not specify any cleanup work for the script to do.\n\n"; |
226 |
print "You did not specify any cleanup work for the script to do.\n\n"; |
219 |
usage(1); |
227 |
usage(1); |
Lines 334-339
if ($pLogs) {
Link Here
|
334 |
print "Done with purging action_logs.\n" if $verbose; |
342 |
print "Done with purging action_logs.\n" if $verbose; |
335 |
} |
343 |
} |
336 |
|
344 |
|
|
|
345 |
if ($pMessages) { |
346 |
print "Purging messages older than $pMessages days.\n" if $verbose; |
347 |
my $messages = Koha::Patron::Messages->filter_by_last_update( |
348 |
{ timestamp_column_name => 'message_date', days => $pMessages } ); |
349 |
my $count = $messages->count; |
350 |
$messages->delete if $confirm; |
351 |
if ( $verbose ) { |
352 |
say $confirm |
353 |
? sprintf( "Done with purging %d messages", $count ) |
354 |
: sprintf( "%d messages would have been removed", $count ); |
355 |
} |
356 |
} |
357 |
|
337 |
if ($fees_days) { |
358 |
if ($fees_days) { |
338 |
print "Purging records from accountlines.\n" if $verbose; |
359 |
print "Purging records from accountlines.\n" if $verbose; |
339 |
purge_zero_balance_fees( $fees_days ) if $confirm; |
360 |
purge_zero_balance_fees( $fees_days ) if $confirm; |
340 |
- |
|
|