[Koha-bugs] [Bug 25078] Update DB process - wrap each DBRev inside a transaction and better error handling

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Jul 14 06:25:58 CEST 2021


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=25078

--- Comment #90 from Victor Grousset/tuxayo <victor at tuxayo.net> ---
Testing note: always restart services after changing the version syspref.

====

A bit confused about the test plan:

> - Apply "Bug 25078: [DO NOT PUSH] DB revs for testing" (restart_all)
> - Read the different DBrevs created as examples
> - Make sure the different use cases are covered
> - execute the updatedatabase script (CLI)

Actually all patches should be applied from the start, right?

Moving on with this assumption.


======


> - execute the updatedatabase script (CLI)

output:

> Wide character in say at /kohadevbox/koha/installer/data/mysql/db_revs/210600000.pl line 11.
> Upgrade to 21.06.00.000  done [01:12:42]: Increase DBRev for 21.06
> 						   - 🎵 Run, rabbit run. 🎶
> 						   - Dig that hole, forget the sun,
> 						   - And when at last the work is done
> 						   - Don't sit down it's time to dig another one.
> Upgrade to 21.06.00.001  done [01:12:42]: Bug 28489 - Modify sessions.a_session from longtext to longblob
> Upgrade to 21.06.00.002  done [01:12:42]: Bug 28490 - Bring back accidentally deleted relationship columns
> Upgrade to 21.06.00.003  done [01:12:43]: Bug 24434 - Add 'WrongTransfer' to branchtransfers.cancellation_reason enum
> Upgrade to 21.06.00.004  done [01:12:43]: Bug 15788 - Split edit_borrowers permission
> Upgrade to 21.06.00.005  done [01:12:43]: Bug 26205 - Add new system preference NewsLog to log news changes
> Upgrade to 21.06.00.081  done [01:12:43]: Bug 42322 - Single line description, no report
> Upgrade to 21.06.00.082  done [01:12:43]: Bug 42422 - Testing number of patrons
> 						   - Number of patrons: 53
> Upgrade to 21.06.00.083  done [01:12:43]: Bug 42323 - Multi lines report
> 						   - Multi
> 						   - lines
> 						   - report
> Upgrade to 21.06.00.090  failed [01:12:43]: Bug 42420 - Testing failure
> ERROR - {UNKNOWN}: DBI Exception: DBD::mysql::db do failed: Table 'koha_kohadev.Foo' doesn't exist [for Statement "ALTER TABLE Foo"] at /kohadevbox/koha/C4/Installer.pm line 734
> 
> DEV atomic update: bug_25078.perl
> Upgrade to XXX  [01:12:43]: Bug 25078 - Description
> 						   - Boom, boom
> 						   - Chick-a-boom


The Chick-a-boom atomic update is executed after the failure of the previous
update.
Is that an issue?

«Wide character in say» Shouldn't it be fixed by «Fix encoding issue with
db_revs output»


=======


> - Update the DB from the UI
↓↓↓
> User koha_kohadev doesn't have enough privilege on database koha_kohadev.

What?! This is obviously unrelated but worth mentioning in case others using
koha-testing-docker or not also have that.
Anyway, moving on.
Ok lol, we can actually move on. ¯\_ (ツ)_/¯


=====

>     DEV atomic update: bug_25078.perl
>     Upgrade to XXX [23:11:53]: Bug 25078 - Description
>                  - Boom, boom
>                  - Chick-a-boom
> 
>     Upgrade to 21.06.00.000 done [23:11:53]: Increase DBRev for 21.06
>         - 🎵 Run, rabbit run. 🎶
>         - Dig that hole, forget the sun,
>         - And when at last the work is done
>         - Don't sit down it's time to dig another one.
>     Upgrade to 21.06.00.001 done [23:11:53]: Bug 28489 - Modify sessions.a_session from longtext to longblob
>     Upgrade to 21.06.00.002 done [23:11:53]: Bug 28490 - Bring back accidentally deleted relationship columns
>     Upgrade to 21.06.00.003 done [23:11:53]: Bug 24434 - Add 'WrongTransfer' to branchtransfers.cancellation_reason enum
>     Upgrade to 21.06.00.004 done [23:11:53]: Bug 15788 - Split edit_borrowers permission
>     Upgrade to 21.06.00.005 done [23:11:53]: Bug 26205 - Add new system preference NewsLog to log news changes
>     Upgrade to 21.06.00.081 done [23:11:53]: Bug 42322 - Single line description, no report
>     Upgrade to 21.06.00.082 done [23:11:53]: Bug 42422 - Testing number of patrons
>         - Number of patrons: 53
>     Upgrade to 21.06.00.083 done [23:11:53]: Bug 42323 - Multi lines report
>         - Multi
>         - lines
>         - report
> 
> Update error :
> 
>     Upgrade to 21.06.00.090 failed [23:11:53]: Bug 42420 - Testing failure
>     ERROR: {UNKNOWN}: DBI Exception: DBD::mysql::db do failed: Table 'koha_kohadev.Foo' doesn't exist [for Statement "ALTER TABLE Foo"] at /kohadevbox/koha/C4/Installer.pm line 734

This time the Chick-a-boom update is first! Does it matter?

And no «Wide character in say» warning.


======


Oh a "try again" button, let's press it.

Same error, as expected.
The Chick-a-boom atomic update is again ran. But we don't care, right?


======


--force test looks good :D

Additional test: commenting the failing part of the transaction test caused the
cities table to have a new line. As expected!

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list