Koha-clms/misc
Lari Taskula b4662eb60a
Bug 32440: Support purging statistics by type in cleanup_database.pl
Cleanup_database can delete all statistics entries more than X days
old. If one is using pseudonymization to create pseudonymized_transactions
data, then one may wish to use that cleanup_database function to delete
statistics entries that have been duplicated in pseudonymized_transactions.
However, not all types of transactions in statistics are duplicated in
pseudonymized transactions.

Pseudonymized_transactions currently only includes checkouts, returns,
and renewals.

This patch adds two additional parameters to cleanup_database.pl:

  1. --statistics-type

  Defines the types of statistics to purge. Will purge all types if
  parameter is omitted. Repeatable.

  2. --statistics-type-pseudo

  Grabs values from @Koha::Statistic::pseudonymization_types. At the
  time of writing this patch, they are:

  renew, issue, return and onsite_checkout

To test:
1. prove t/db_dependent/Koha/Statistic.t
2. Before applying this patch:
3. Create some statistics entry by checking out, renewing and checking in
   items.
4. perl misc/cronjobs/cleanup_database.pl --statistics 1 --verbose

Observe:
Purging statistics older than 1 days
n statistics would have been removed

Where n is the amount of statistics rows matching your test environment

5. Apply patch
6. Repeat step 4, observe same result
7. perl misc/cronjobs/cleanup_database.pl --statistics 1 --statistics-type-pseudo --verbose

Observe:

Purging statistics older than 1 days with types "onsite_checkout,renew,return,issue".
n statistics would have been removed

Where n is the amount of statistics rows matching your test environment
(order of listed types does not matter)

8. perl misc/cronjobs/cleanup_database.pl --statistics 1 --statistics-type test1 --statistics-type test2 --verbose

Observe:

Purging statistics older than 1 days with types "test1,test2".
n statistics would have been removed

Where n is the amount of statistics rows matching your test environment
(order of listed types does not matter)

9. perl misc/cronjobs/cleanup_database.pl --statistics 1 --statistics-type-pseudo --statistics-type test1 --verbose

Observe:

Purging statistics older than 1 days with types "test1,onsite_checkout,renew,return,issue".
n statistics would have been removed

Where n is the amount of statistics rows matching your test environment
(order of listed types does not matter)

10. Try previous cleanup_database.pl commands with --confirm flag and make sure correct rows are purged

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-02-21 16:41:29 +01:00
..
admin Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
bin Bug 38382: Fresh connection when connexion CSRF token expires 2024-12-20 18:33:25 +01:00
cronjobs Bug 32440: Support purging statistics by type in cleanup_database.pl 2025-02-21 16:41:29 +01:00
devel Bug 39149: Make tidy.pl deal with .PL files 2025-02-18 15:35:52 +01:00
interface_customization Bug 23148: Replace Bridge icons with transparent PNG files 2020-07-20 16:16:37 +02:00
maintenance Bug 38762: Make compare_es_to_db.pl provide links to staff interface 2025-02-19 17:05:37 +01:00
migration_tools Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
release_notes 24.11.00: Add missing manual contributors to release notes 2024-12-03 14:36:23 +01:00
search_tools Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
translator Bug 38871: Remove sub string_list from misc/translator/xgettext.pl 2025-02-19 17:05:36 +01:00
workers Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
add_date_fields_to_marc_records.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
add_statistics_borrowers_categorycode.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchCompareMARCvsFrameworks.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchDeleteUnusedSubfields.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchImportMARCWithBiblionumbers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchRebuildBiblioTables.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchRebuildItemsTables.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchRepairMissingBiblionumbers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
batchdeletebiblios.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
check_sysprefs.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
commit_file.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
export_borrowers.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
export_records.pl Bug 36770: (QA follow-up) Tidy export_records.pl 2024-08-09 18:44:54 +02:00
import_patrons.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
koha-install-log Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
link_bibs_to_authorities.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
load_yaml.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
mod_zebraqueue.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
process_ill_updates.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
recreateIssueStatistics.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
sax_parser_print.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
sax_parser_test.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
sip_cli_emulator.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
stage_file.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00
z3950_responder.pl Bug 38664: Tidy the whole codebase 2025-02-11 14:58:24 +01:00