DBRev 23.12.00.003 can causes problems if the table we are checking the FK for does not exist, or has gotten a name change. We can make the DBRev more resilient by checking if the tables exist first.
The DBRev is DBRev 23.12.00.053 not DBRev 23.12.00.003
Created attachment 185856 [details] [review] Bug 40725: Add TableExists check to db_revs/231200053.pl
Created attachment 185857 [details] [review] Bug 40725: Add TableExists check to db_revs/231200053.pl This patch makes the DB revision idempotent. To test: 1. Fix the Koha version right before the broken upgrade: $ ktd --shell k$ koha-mysql kohadev > UPDATE systempreferences SET value="23.1200052" WHERE variable="version"; \q 2. Restart everything (memcached should be enough) k$ restart_all 3. Run: k$ updatedatabase => FAIL: You get: ```shell Upgrade to 23.12.00.053 [19:34:35]: Bug 36755 - Increase length of 'code' column in borrower_attribute_types ERROR: C4::Installer::foreign_key_exists(): DBI Exception: DBD::mysql::db selectrow_array failed: Table 'koha_kohadev.pseudonymized_borrower_attributes' doesn't exist at /kohadevbox/koha/installer/data/mysql/db_revs/231200053.pl line 11 ``` 4. Apply this patch 5. Repeat 3 => SUCCESS: Update runs smoothly! 6. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Thank you Tomas for testing and for the test plan!
Thanks all! Pushed to main for 25.11.x
Hi guys, thank you for this and apologies for the issues caused.
Nice work everyone! Pushed to 25.05.x
Pushed to 24.11.x for 24.11.10