Koha-clms/misc/maintenance
David Cook 5d3bfc5d5b
Bug 34064: Add an audit script to compare database with kohastructure.sql
This script can take a connected database handle and compare that database
schema against kohastructure.sql to see what changes the database would
need in order to match kohastructure.sql

NOTE: It uses SQL::Translation::Diff, which is installed with DBIx::Class.

WARNING: The diff doesn't seem to compare comments, so that difference
won't appear in the output. If we wanted, we could easily enhance the
audit_database.pl script to also compare comments.

WARNING: The output is a proposed series of SQL commands. While they
are useful to review, they won't always duplicate the changes done
by updatedatabase.pl, so it's important to carefully analyze the output.
The key purpose of this audit script is to just highlight the differences
between the two.

Test plan:
0. Apply patch
1. vi ./installer/data/mysql/kohastructure.sql
2. Comment out some columns, change NULL status, or whatever you like
3. perl misc/maintenance/audit_database.pl \
    --filename /kohadevbox/koha/installer/data/mysql/kohastructure.sql
4. Note that the output includes SQL commands to change the database
to match the new kohastructure.sql

5a. Try using koha-foreach and note that the database name appears above
the database comparison
5b. koha-foreach "perl misc/maintenance/audit_database.pl \
    --filename /kohadevbox/koha/installer/data/mysql/kohastructure.sql"

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-10 10:54:03 -03:00
..
UNIMARC_fix_collectiontitle.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
UNIMARC_sync_date_created_with_marc_biblio.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
audit_database.pl Bug 34064: Add an audit script to compare database with kohastructure.sql 2023-10-10 10:54:03 -03:00
auth_show_hidden_data.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
borrowers-force-messaging-defaults.pl Bug 31155: Document --since option in help of borrowers-force-messaging-defaults.pl 2022-08-08 13:12:45 -03:00
check_syspref_cache.pl Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
check_sysprefs.sh Bug 8353 follow-up adding a tiny sh in misc/maintenance 2012-07-13 14:42:55 +02:00
cmp_sysprefs.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
compare_es_to_db.pl Bug 33626: Remove invalid params 2023-05-05 10:18:56 -03:00
fix_accountlines_date.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
fix_accountlines_rmdupfines_bug8253.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
fix_mysql_constraints.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
fix_tags_weight.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
generate_MARC21Languages.pl Bug 33341: Address some perlcritic errors in 5.36 2023-03-28 14:50:33 +02:00
make_zebra_dom_cfg_from_record_abs Bug 22600: Set 'commandline' interface appropriately 2019-04-10 19:43:11 +00:00
process_record_through_filter.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
remove_items_from_biblioitems.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
sanitize_records.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
search_for_data_inconsistencies.pl Bug 34505: Patron invalid age in search_for_data_inconsistencies.pl skip expired patrons 2023-08-29 14:59:08 -03:00
sync_db_comments.pl Bug 32334: Fix spelling 2023-04-12 11:22:04 -03:00
touch_all_biblios.pl Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
touch_all_items.pl Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
update_authorities.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00