8.4.4 to 8.5.1 upgrade fails: Index column size too large on CollectionVersionBlocksOutputCache

Permalink
Upgrade instructions followed and dir placed in updates.
When updating from the dsahboard it fails with:
An exception occurred while executing 'TRUNCATE CollectionVersionBlocksOutputCache':
SQLSTATE[HY000]: General error: 1709 Index column size too large. The maximum column size is 767 bytes

This is going to a mariadb database (latest version - 10.4.6). utf8 or utf8mb4 charset.

Any ideas on how to solve? This has scuppered the upgrade... :(
Thankfully this is in a test environment but it means I am not keen on upgrading my live servers!

TIA!

View Replies:
JohntheFish replied on at Permalink Reply
JohntheFish
Its to do with the default collation changing. This slack thread may help:
https://concrete5.slack.com/archives/C2N3FLUBW/p1561647857050200...
Myq replied on at Permalink Reply
Myq
Try:
cd to the directory where concrete5 is installed, and run
./concrete/bin/concrete5 c5:database:charset:set utf8mb4_unicode_ci

to set the utf8mb4 charset, with the utf8mb4_unicode_ci collation
barrypearce replied on at Permalink Reply
My database is already set to both.
Is there some kind of internal state in concrete5 that this sets?
All my databases are utf8mb4 with the correct collation. I cant remember if the test system this was on was originally created that way but certainly the database and all the database tables are now on this.
kspitzley replied on at Permalink Reply
kspitzley
I found this when i was trying to import a db from my local environment and getting this error, maybe it will help (my reply is at the bottom):https://www.concrete5.org/community/forums/usage/1071-specified-key-...