Come eseguire il downgrade di un modulo PrestaShop dopo un aggiornamento problematico

406 visualizzazioni

Quando gli aggiornamenti dei moduli vanno male

Hai aggiornato un modulo PrestaShop e ora qualcosa non funziona. Forse il checkout ha smesso di funzionare, la homepage mostra errori, o il pannello di amministrazione non risponde più. Gli aggiornamenti dei moduli possono fallire per molti motivi - versioni PHP incompatibili, conflitti con altri moduli, errori di migrazione del database, o semplicemente bug nella nuova versione. Qualunque sia la causa, devi ripristinare rapidamente la versione precedente per ristabilire la funzionalità del tuo negozio.

Purtroppo, PrestaShop non include un pulsante "annulla" integrato per gli aggiornamenti dei moduli. Non esiste una cronologia delle versioni nativa né un meccanismo di rollback automatico per i singoli moduli.

Prima di iniziare - Sicurezza prima di tutto

  1. Metti il negozio in modalità manutenzione
  2. Crea un backup del database
  3. Documenta l'errore attuale

Metodo 1 - Reinstallare la versione precedente dal Back Office

  1. Vai a Moduli > Gestione moduli
  2. Trova il modulo problematico e clicca Disinstalla (NON "Elimina")
  3. Clicca Carica un modulo
  4. Carica lo ZIP della versione precedente funzionante
  5. Installa e configura il modulo

Dove trovare la versione precedente

  • La tua email - La maggior parte dei venditori invia link di download con ogni acquisto
  • Account marketplace - Su PrestaShop Addons e marketplace di terze parti come mypresta.rocks, puoi scaricare versioni precedenti dalla cronologia ordini
  • I tuoi backup - Estrai la cartella del modulo da un archivio di backup
  • Contatta lo sviluppatore - Gli sviluppatori possono generalmente fornire versioni precedenti

Metodo 2 - Sostituzione file via FTP/SFTP

  1. Collegati al server via FTP/SFTP
  2. Naviga fino a /modules/
  3. Trova la cartella del modulo
  4. Rinomina la cartella attuale - es. mymodule in mymodule_rotto
  5. Carica i file della versione precedente
  6. Imposta i permessi corretti - directory a 755, file a 644
  7. Svuota la cache di PrestaShop

Metodo 3 - Da riga di comando

# Connetti via SSH
ssh user@tuoserver.com

# Vai alla root di PrestaShop
cd /var/www/html/prestashop

# Backup del modulo rotto
mv modules/mymodule modules/mymodule_rotto_$(date +%Y%m%d)

# Estrai la versione precedente
unzip /percorso/mymodule_v1.2.3.zip -d modules/

# Imposta i permessi corretti
find modules/mymodule -type d -exec chmod 755 {} \;
find modules/mymodule -type f -exec chmod 644 {} \;
chown -R www-data:www-data modules/mymodule

# Svuota la cache
rm -rf var/cache/prod/* var/cache/dev/*

Metodo 4 - Rollback completo del database

Se l'aggiornamento del modulo includeva migrazioni del database, dovrai ripristinare un backup del database precedente all'aggiornamento.

Quando serve un rollback del database

  • Il modulo ha creato nuove tabelle
  • Il modulo ha modificato strutture di tabelle esistenti
  • Il modulo ha inserito o modificato valori di configurazione

Metodo 5 - Pulizia manuale del database

// Cerca file tipo:
// modules/mymodule/upgrade/upgrade-2.0.0.php

public function upgrade($version)
{
    if (version_compare($version, '2.0.0', '<')) {
        Db::getInstance()->execute('ALTER TABLE `' . _DB_PREFIX_ . 'mymodule` 
            ADD COLUMN `new_field` VARCHAR(255)');
    }
}

Dopo il downgrade - Pulizia essenziale

  1. Cache Smarty
  2. OPcache - Riavvia PHP-FPM o Apache
  3. Cache CDN
  4. Cache browser - Testa in finestra privata

Verifica la versione del modulo

Dopo il downgrade, verifica che PrestaShop riconosca la versione corretta.

Testa accuratamente

  • La funzionalità specifica del modulo
  • Il processo di checkout dall'inizio alla fine
  • Le pagine admin dove il modulo aggiunge contenuto
  • Viste mobile e desktop
  • Performance

Prevenire futuri problemi di aggiornamento

  • Sempre backup prima di aggiornare
  • Testare gli aggiornamenti in ambiente di staging
  • Leggere il changelog
  • Conservare le versioni precedenti
  • Verificare la compatibilità

Quando contattare lo sviluppatore del modulo

Se nessun metodo sopra risolve il problema, contatta lo sviluppatore con la tua versione PrestaShop, versione PHP, versioni del modulo e messaggi di errore esatti.

Questa risposta ti è stata utile?

Hai ancora domande?

Can't find what you're looking for? Send us your question and we'll get back to you quickly.

Loading...
Back to top