Bug 18050: Add FK constraint on aqbudgets.budget_period_id
This adds a FK constraint on aqbudgets.budget_period_id so that
a fund cannot be added with an invalid aqbudget.budget_period_id.
We should not have funds that belong to no budget. In case we have, the
update will be skipped and a note displayed.
Part1:
- Before applying the patch
- Make sure you have a budget with some funds linked to it
- You will have to change one of the funds to link to an invalid
budget with SQL:
UPDATE aqbudgets SET budget_period_id = 999 WHERE budget_id = max(budget_id);
- Apply patch
- Run updatedatabase - verify that you see the hint about 1 existing fund with invalid budget.
- Repair your fund with SQL
UPDATE aqbudgets SET budget_period_id = ... WHERE budget_id = max(budget_id);
(... needs to be your existing budget_period_id)
- Run updatedatabase again - verify it runs successfully now.
- If you try to change the budget_period_id to a non-existing now with SQL, you will
get a database error. The new FK doesn't permit it.
Part 2:
- Start fresh with the web installer, verify there are no errors on
creating the database tables
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit
0ce62b29bf5ebe30125eb4c631de11391134f109)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit
fee8aa2b1cf4c90c37e55d7286bafe8a8b0307de)
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
(cherry picked from commit
af2146e565d5eb7c2ad95b744706f9a0c147af50)
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>