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