eric7 OK, merci pour les infos.
En fait, après avoir changé de version de MySQL (pour la 8.0), il faut impérativement repartir d'une base de données vierge avant de relancer l'étape 5... Car sinon, vu que la migration qui a planté (après la création du champ cas_identifier
dans la table users
) essaye de re-créer ce même champ alors qu'il existe déjà, ça plante à tous les coups. Il faut donc vider entièrement la base de données, et relancer l'étape 5.
Note : ne faire cela que lors d'une installation tout neuve, car si vous avez des données existantes, et que les migrations plantent lors d'une mise à jour, vous risqueriez de tout perdre en vidant la base de données entièrement. Pour une mise à jour, il faut procéder autrement mais c'est en dehors du sujet de cette conversation 🙂.
Si vous rencontrez toujours le même problème (même message d'erreur PDOException: SQLSTATE[HY000]: General error: 1709 Index column size too large. The maximum column size is 767 bytes.
), alors c'est que le problème se situe ailleurs.
Quelle est la valeur de la variable de configuration innodb_default_row_format
sur votre serveur MySQL ? Pour le trouver, vous pouvez exécuter la commande suivante dans une console MySQL :
SHOW GLOBAL VARIABLES LIKE 'innodb_default%';
Vous devriez avoir quelque chose comme ceci:
+---------------------------+---------+
| Variable_name | Value |
+---------------------------+---------+
| innodb_default_row_format | dynamic |
+---------------------------+---------+
1 row in set (0,00 sec)
Autre façon de récupérer cette info, via PhpMyAdmin vous pouvez inspecter la table users
dans l'onglet "Structure de table", tout en bas de la page se trouve un tableau avec les informations de la table. Celle qui nous intéresse est "Format" : sa valeur doit être "dynamique".
Si vous ne trouvez pas la valeur "dynamic" pour cette variable de configuration, il faut alors modifier la configuration de votre serveur pour que celle-ci soit toujours utilisée, et recommencer l'installation (en prenant soin de vider la base de données encore une fois).
Merci pour votre patience !