Sulla base della documentazione MySQL, sembrerebbe che le colonne UNIQUE sono limitate a 767 bytes (191 caratteri) per versioni < 5.7, mentre a partire dalla versione 5.7 in poi il limite è stato alzato a 3072 bytes (768 caratteri).
Discussione di riferimento: https://stackoverflow.com/a/1814594
Possiamo quindi procedere in due modi:
- Aggiornare MySQL alla versione 5.7 (o anche alla versione 8, al momento la più recente)
- Evitare l'esecuzione della query corrente e di quella successiva (che fa una operazione simile)
Per la prima soluzione, bisogna contattare il gestore del servizio di hosting oppure aggiornare di persona se si ha accesso o esperienza.
Per la seconda soluzione, è sufficiente modificare il file update/2_4_17.sql alle righe 238-242 (ovvero alla fine del file) da:
-- Evita di caricare impostazioni doppie
ALTER TABLE `zz_settings` ADD UNIQUE(`nome`);
-- Evita di caricare username doppi
ALTER TABLE `zz_users` ADD UNIQUE(`username`);
a
-- Evita di caricare impostazioni doppie
-- ALTER TABLE `zz_settings` ADD UNIQUE(`nome`);
-- Evita di caricare username doppi
-- ALTER TABLE `zz_users` ADD UNIQUE(`username`);
Per poi far riprendere l'aggiornamento.
In questo caso, le query non sono fondamentali per il funzionamento del gestionale ma garantiscono una maggiore integrità dei dati.