Upgrading from v25 to 26 to 27 and getting an error

I had a quite outdated Nextcloud instance running v25, with PHP 7.4 on CentOS 7.

I’ve at last got around to moving to RHEL so I can get updates again, updated to PHP 8.1, and MariaDB 10.1.48-1 and then attempted to upgrade to Nextcloud 26.

That more or less worked, and I had it running, although it did through up an error which I maybe should have looked at more seriously.

I then tried to upgrade to Nextcloud 27, and running the script I get the following …

Exception: Database error when running migration 28000Date20230616104802 for app core
An exception occurred while executing a query: SQLSTATE[HY000]: General error: 1709 Index column size too large. The maximum column size is 767 bytes.
Update failed

Can anyone help with what this means?

Happily, I went back to 26, and Nextcloud still works, so if anyone can advise what might be wrong here, I can give it another go. I will have to sort this, can’t stay on 26 :slight_smile:

If you did one major upgrade, it’s a good idea to login to your Nextcloud and check on the admin interface if everything is ok. Sometimes there are updates to the database structure, then you do that. Also good to activate all your favorite apps that they can do also some housekeeping in case they changed something as well.

Ah ha, had a look on the Admin interface and saw this …

  • MariaDB version “10.1.48-MariaDB” is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher.
1 Like

Check these others threads on the forum.

https://help.nextcloud.com/search?q=Index%20column%20size%20too%20large.%20The%20maximum%20column%20size%20is

And results from the Nextcloud server closed issues

And some more results against the internet

Nextcloud 26 requires at least PHP 8.0 (PHP 8.1 recommended) and MariaDB 10.3 (10.6 recommended): System requirements — Nextcloud latest Administration Manual latest documentation

Also, CentOS 7 will be EOL in the first half of next year, so while you could upgrade PHP and MariaDB via third party repos, this would only be a short term solution, and I think it’s time to prepare a migration strategy away from CentOS.

However, I’m a Debian/Ubuntu guy, so I can’t really give you tips on what to migrate to if you want to stay in the RHEL ecosystem, but I think you should be able to find plenty of information about this on the internet, since this has been discussed a lot, after all the stunts RedHat has pulled in recent years :wink: