Errore nel database con installazione o upgrade di Prestashop 1.7.7
Prestashop versione 1.7.7.0 converte la codifica delle tabelle in database a utf8mb4.
In caso di installazione nuova
L’installazione può fallire al 13% e riportare il seguente errore:
Errore SQL nella query Index column size too large. The maximum column size is 767 bytes.
Per risolvere questo problema è necessario modificare il file di installazione: install/data/db_structure.sql
Vanno cercate tutte le occorrenze di ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8mb4 COLLATION;
e sostituite con ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COLLATION;
Fatto questo si può ritentare l’installazione.
In caso di aggiornamento 1ClickUpdate
L’aggiornamento a Prestashop 1.7.7.0 si completa ma mostra in log una serie di errori SQL:
SQL 1.7.7.0 1709 in ALTER TABLE `ps_configuration` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_connections_source` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_customer` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_employee` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_order_state` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_page_type` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes. SQL 1.7.7.0 1709 in ALTER TABLE `ps_smarty_cache` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. The maximum column size is 767 bytes.
Questo si deve evitare, quindi ripristina il sito da un backup, e modifica in anticipo il database (accedi tramite PHPMyAdmin).
Avvia questa query SQL, ricorda di aggiustare i prefissi delle tabelle con quelli del tuo sito.
ALTER TABLE `ps_configuration` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_connections_source` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_customer` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_employee` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_order_state` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_page_type` ROW_FORMAT=DYNAMIC; ALTER TABLE `ps_smarty_cache` ROW_FORMAT=DYNAMIC;
Fatto questo puoi avviare 1ClickUpdate.
Comments (0)