Nextcloud version : 12.0.1
Operating system and version: Debian 7.11
Apache or nginx version: NGINX 1.11.10
PHP version : 7.0.22
Is this the first time you’ve seen this error: Yes
The issue you are facing:
After upgrade this morning to NC 12.0.1, the News app complains about wrong character set (UTF8-bin instead of UTF8MB4
Trying to convert to UTF8MB4, but it complains altering the first table:
mysql> ALTER TABLE `oc_prod`.`oc_activity` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Reason is clear, some rows have the wrong site - but no idea, how I can figure out, which of the rows I need to change (and to which value).
Anyone has any hint here?
Alternatively, I read that I can also bypass this problem switching to PostgreSQL - is there any tutorial how to do it for Nextcloud? Could the same Nextcloud command like mentioned here also being used to convert from mySQL to PostgreSQL?
Thanks for any good idea, how to solve this issue!
My guess is that not all apps (like activity) support converting to mb4. Main reason for that is that they specifiy character lengths which are out of bound if you bump them to 4 bytes (e.g. VARCHAR(255) with index on mysql)
As for switching to postgres: there is no official tool, only Google
Creating schema in new database
The following tables will not be converted:
oc_bookmarks
oc_bookmarks_tags
oc_lucene_status
Continue with the conversion (y/n)? [n]
Hmm - not sure if I will need those tables - anyone has any idea?
I currently went back to Nextcloud 11 after running in the same problems as you did.
I guess you deactivated the “Activity” app? I had so, too - but after activating it was updated and could be converted.
The problem I wasn’t able to solve is ‘oc_addressbooks’. All I found was someone who tried to solve it manually, but I’m not sure this will not create other problems. If you’re interested in the solution, see https://github.com/nextcloud/news/issues/155
I have now converted the database with the Nextcloud updater to PostgreSQL and it looks ok, the message within the News-App now disappeared. Unfortunately, no update of News is done. Cron-Job still running without any error, but no new news displayed from the various RSS feeds configured.
Anyone using the News-App with 12.0.1 and has the same problem?
No this did not work for me. I’ve also tried to de-install this app and also dropped oc_news_folders, oc_news_feeds and oc_news_items tables in mysql database. Even after new fresh install of this app non-utf8 message appears. This leads me to the conclusion, that the App itself seem to have a problem with NC 12 database.
Well, you need to convert the whole database, not just the news tables and also configure your instance to use mb4, otherwise the tables will just be recreated in the old format
Btw, conversion to utf8mb4 of whole database including oc_activity worked well for me. So the activity app does not generally fail there. Was on mariadb 10.1 after converting to barracuda file system according to admin manual.