If aqbudgets table doesn't contain foreign key "aqbudgetperiods_ibfk_1" upgrade will fail on following error: Upgrade to 23.12.00.023 [15:26:18]: Bug 32132 - Set aqbudgets.budget_period_id as NOT NULL ERROR - {UNKNOWN}: DBI Exception: DBD::mysql::db do failed: Can't DROP FOREIGN KEY `aqbudgetperiods_ibfk_1`; check that it exists at /usr/share/koha/lib/C4/Installer.pm line 741
Created attachment 171010 [details] [review] Bug 37820: Upgrade fails at 23.12.00.023 [Bug 36993] If table aqbudgets is miissing foreign key 'aqbudgetperiods_ibfk_1' database update fails on "Can't DROP FOREIGN KEY" error. To test: 1. Remove changes made in bug 32132, drop foreign key aqbudgetperiods_ibfk_1 and downgrade your database: - ALTER TABLE aqbudgets MODIFY COLUMN `budget_period_id` INT(11) NULL; - UPDATE aqbudgets SET budget_period_id = NULL WHERE budget_period_id IN(SELECT budget_period_id FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"); - DELETE FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"; - ALTER TABLE aqbudgets DROP FOREIGN KEY aqbudgetperiods_ibfk_1; - UPDATE systempreferences SET value="23.1200022" WHERE variable = "Version; 2. Upgrade your database (e.g. running installer/data/mysql/updatedatabase.pl) => Update fails on error "Can't DROP FOREIGN KEY `aqbudgetperiods_ibfk_1`;...". 4. Apply this patch. 5. Try to update your database again. => Database should now be upgraded succesfully. => Confirm table aqbudgets now contains 'aqbudgetperiods_ibfk_1'.
Created attachment 171051 [details] [review] Bug 37820: Upgrade fails at 23.12.00.023 [Bug 36993] If table aqbudgets is miissing foreign key 'aqbudgetperiods_ibfk_1' database update fails on "Can't DROP FOREIGN KEY" error. To test: 1. Remove changes made in bug 32132, drop foreign key aqbudgetperiods_ibfk_1 and downgrade your database: - ALTER TABLE aqbudgets MODIFY COLUMN `budget_period_id` INT(11) NULL; - UPDATE aqbudgets SET budget_period_id = NULL WHERE budget_period_id IN(SELECT budget_period_id FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"); - DELETE FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"; - ALTER TABLE aqbudgets DROP FOREIGN KEY aqbudgetperiods_ibfk_1; - UPDATE systempreferences SET value="23.1200022" WHERE variable = "Version; 2. Upgrade your database (e.g. running installer/data/mysql/updatedatabase.pl) => Update fails on error "Can't DROP FOREIGN KEY `aqbudgetperiods_ibfk_1`;...". 4. Apply this patch. 5. Try to update your database again. => Database should now be upgraded succesfully. => Confirm table aqbudgets now contains 'aqbudgetperiods_ibfk_1'. Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Created attachment 171127 [details] [review] Bug 37820: Upgrade fails at 23.12.00.023 [Bug 36993] If table aqbudgets is miissing foreign key 'aqbudgetperiods_ibfk_1' database update fails on "Can't DROP FOREIGN KEY" error. To test: 1. Remove changes made in bug 32132, drop foreign key aqbudgetperiods_ibfk_1 and downgrade your database: - ALTER TABLE aqbudgets MODIFY COLUMN `budget_period_id` INT(11) NULL; - UPDATE aqbudgets SET budget_period_id = NULL WHERE budget_period_id IN(SELECT budget_period_id FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"); - DELETE FROM aqbudgetperiods WHERE budget_period_description = "Budget for funds without budget"; - ALTER TABLE aqbudgets DROP FOREIGN KEY aqbudgetperiods_ibfk_1; - UPDATE systempreferences SET value="23.1200022" WHERE variable = "Version; 2. Upgrade your database (e.g. running installer/data/mysql/updatedatabase.pl) => Update fails on error "Can't DROP FOREIGN KEY `aqbudgetperiods_ibfk_1`;...". 4. Apply this patch. 5. Try to update your database again. => Database should now be upgraded succesfully. => Confirm table aqbudgets now contains 'aqbudgetperiods_ibfk_1'. Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Thanks Emmi for staying on the case here!
Pushed for 24.11! Well done everyone, thank you!