[Nextcloud] Corriger le bug de base de données lors de la mise à jour 13.06 vers 15.04

Bonjour à tous,
Lorsque que j’ai voulu mettre à jour nextcloud j’avais un bug de la base données nextcloud qui faisait planter l’update et qui finissait par dé-installer nextcloud de mon instance yunohost.

En lisant les logs d’installation je suis tombé sur ça

Updating database schema
Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'ALTER TABLE oc_authtoken ADD password_invalid TINYINT(1) DEFAULT '0' NOT NULL':
 
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Update failed

Pour corriger ce problème Je restaure ma sauvegarde et je me connecte à la base de données de nextcloud, j’ai utilisé phpmyadmin et apporter ces modifications dans la console

use nextcloud;
set global innodb_large_prefix=on;
set global innodb_file_format=Barracuda;

et je relance la mise à jour de nextcloud
yunohost app upgrade nextcloud --debug

Une fois la mise à jour terminée j’ai lancé ces deux commandes

sudo -u nextcloud php -f /var/www/nextcloud/occ db:add-missing-indices
sudo -u nextcloud php -f /var/www/nextcloud/occ db:convert-filecache-bigint

Voilà c’est tout, je poste ce message ici car il peut être utile à certains

4 Likes

Bon j’ai le meme souci.
Maj de nextcloud + effacement de celui-ci.
Je n’ai pas de sauvegarde car serveur de test …

Je viens de tester de lancer une nouvelle installe de Nextcloud, qui c’est bien installé mais avec les erreurs de BDD résolu par tes deux dernières commandes.
Par Contre toujours l’erreur de la version php.