Salta al contenuto ID

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.

Questo articolo ha 0 commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna su