{"id":840913,"date":"2026-08-18T12:41:53","date_gmt":"2026-08-18T12:41:53","guid":{"rendered":"https:\/\/www.knowband.com\/blog\/?p=840852\/"},"modified":"2026-08-22T06:04:21","modified_gmt":"2026-08-22T06:04:21","slug":"managing-database-changes-during-module-updates-prestashop","status":"publish","type":"post","link":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/","title":{"rendered":"Gestione delle modifiche al database durante gli aggiornamenti dei moduli in PrestaShop"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">C&#8217;\u00e8 un tipo di richiesta di assistenza che ho imparato a temere. Un commerciante aggiorna un modulo; l&#8217;aggiornamento sembra andare a buon fine, poi qualcosa smette di funzionare. Mai l&#8217;intero negozio. Una pagina del controller di PrestaShop che non funziona correttamente, o un valore di configurazione che non viene salvato, o una colonna di un elenco prodotti che si \u00e8 svuotata. Quando controllo, il codice del modulo \u00e8 aggiornato alla nuova versione, ma il database sottostante \u00e8 ancora quello vecchio.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Questo articolo si propone di affrontare proprio questa lacuna. Un modulo PrestaShop non \u00e8 solo il codice PHP che hai distribuito, ma include anche le tabelle e le colonne che il codice PHP si aspetta di trovare. Se si salta l&#8217;aggiornamento del database di PrestaShop, che dovrebbe essere incluso in ogni nuova versione del codice, si ottiene un modulo installato, apparentemente funzionante, ma in realt\u00e0 errato.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">L&#8217;ho fatto a me stesso pi\u00f9 di una volta. Quello che segue \u00e8 ci\u00f2 che ho imparato a riguardo <\/span><b>aggiornamenti del database del modulo PrestaShop<\/b><span style=\"font-weight: 400;\">, nel modo pi\u00f9 difficile.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">1.0 Come gli aggiornamenti dei moduli PrestaShop gestiscono effettivamente il database<\/span><\/h2>\n<figure class=\"thumbnail wp-caption alignnone\" style=\"width: 1247px\"><a href=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-840862\" src=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow.jpg\" alt=\"Diagramma che mostra gli aggiornamenti del database del modulo PrestaShop, eseguiti in sequenza tramite tre script di aggiornamento dalla versione 1.9.0 alla 2.1.0.\" width=\"1237\" height=\"575\" srcset=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow.jpg 1237w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow-300x139.jpg 300w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow-1024x476.jpg 1024w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/01-upgrade-flow-768x357.jpg 768w\" sizes=\"auto, (max-width: 1237px) 100vw, 1237px\" \/><\/a><figcaption class=\"caption wp-caption-text\">Il passaggio del negozio dall&#8217;aggiornamento 1.9.0 al 2.1.0 non salta alcun passaggio, ma esegue tutti gli script di aggiornamento intermedi, in ordine.<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Qui circolano molte supposizioni, e alcune sono errate.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Inserisci una nuova versione in <\/span><span style=\"font-weight: 400;\">\/moduli\/<\/span><span style=\"font-weight: 400;\"> e la tua routine di installazione non viene eseguita di nuovo. Tabelle intatte. Cosa succede invece: PrestaShop legge il modulo <\/span><span style=\"font-weight: 400;\">aggiornamento \/<\/span><span style=\"font-weight: 400;\"> cartella, trova i file denominati <\/span><span style=\"font-weight: 400;\">aggiornamento- .php<\/span><span style=\"font-weight: 400;\"> si posiziona tra la versione registrata e quella dichiarata dalla classe del tuo modulo, ed esegue entrambe in sequenza.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Un negozio con versione 1.9.0 che riceve la versione 2.1.0 esegue tre script, in sequenza.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Da ci\u00f2 derivano tre cose, e tutte e tre sono importanti per <\/span><b>modifiche al database di PrestaShop<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><b>La versione presente nella tabella `module` \u00e8 la fonte di verit\u00e0.<\/b><span style=\"font-weight: 400;\"> Non quello presente nel file di classe principale. PrestaShop li legge entrambi. Agisce su quello registrato, ed \u00e8 quello che determina quanti script di aggiornamento verranno eseguiti.<\/span><\/p>\n<p><b>Il tuo metodo `install()` \u00e8 valido solo per le nuove installazioni.<\/b><span style=\"font-weight: 400;\"> Diciamo che la versione 2.0 ha bisogno di una nuova tabella. Inseriscila in <\/span><span style=\"font-weight: 400;\">installare()<\/span><span style=\"font-weight: 400;\"> Chiunque passi alla versione 2.0 da zero \u00e8 coperto. Il negozio che ha la versione 1.9 non riceve nulla, perch\u00e9 l&#8217;installazione \u00e8 stata eseguita un anno fa e non verr\u00e0 pi\u00f9 eseguita.<\/span><\/p>\n<p><b>Un singolo errore blocca tutto.<\/b><span style=\"font-weight: 400;\"> Rientro <\/span><span style=\"font-weight: 400;\">falso<\/span><span style=\"font-weight: 400;\"> Quando si esegue un aggiornamento, accadono tre cose: PrestaShop si blocca, registra la versione che ha causato l&#8217;errore e disabilita il modulo. Non \u00e8 possibile passare allo script successivo. Questo comportamento \u00e8 intenzionale, anche se significa che una modifica dello schema applicata solo parzialmente non risolve completamente il problema, ma lo disabilita.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Migliori <\/span><a href=\"https:\/\/devdocs.prestashop-project.org\/8\/modules\/creation\/enabling-auto-update\/\"><span style=\"font-weight: 400;\">attivazione dell&#8217;aggiornamento automatico per i moduli<\/span><\/a><span style=\"font-weight: 400;\"> Questa pagina illustra le regole per la denominazione dei file. Leggetela attentamente una volta, anzich\u00e9 cercarla a memoria.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">La trappola di denominazione della funzione di aggiornamento<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Questo mi \u00e8 costato un pomeriggio. <\/span><span style=\"font-weight: 400;\">modulo_di_aggiornamento_2_0_1<\/span><span style=\"font-weight: 400;\"> or <\/span><span style=\"font-weight: 400;\">modulo di aggiornamento201<\/span><span style=\"font-weight: 400;\"> funziona come nome di funzione e PrestaShop cerca entrambi. Inoltre, prima di includere il file, verifica se uno di questi nomi esiste gi\u00e0. Se lo trova, il file viene contrassegnato come duplicato e ignorato.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Copiare un vecchio script di aggiornamento come modello \u00e8 esattamente il modo in cui le persone arrivano a questo punto. Il nome al suo interno non viene mai modificato. Non viene eseguito alcun aggiornamento e il messaggio di errore non fornisce molte informazioni.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">2.0 Migrazione del database di PrestaShop: cosa va storto nei negozi reali<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Tutto ci\u00f2 \u00e8 accaduto nei negozi in cui ho lavorato.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Modifiche allo schema del database di PrestaShop che si spostano tra le installazioni<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">La versione 2.0 necessita di una nuova colonna, quindi si aggiorna <\/span><span style=\"font-weight: 400;\">installare()<\/span><span style=\"font-weight: 400;\"> e scrivere uno script di aggiornamento. Entrambe le opzioni sono corrette. Dopo tre versioni, qualcuno rinomina la cartella del modulo o un rivenditore reinstalla. In alcune installazioni, install() ha creato quella colonna. In altre, l&#8217;ha fatto il percorso di aggiornamento. Due definizioni, che si discostano, e ora un singolo numero di versione le copre entrambe.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Quindi la definizione risiede in un singolo metodo chiamato da entrambi i percorsi. Le modifiche allo schema del database di PrestaShop non possono derivare se ce n&#8217;\u00e8 solo uno.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Script di aggiornamento che presuppongono un punto di partenza pulito<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">ALTER TABLE &#8230; ADD COLUMN<\/span><span style=\"font-weight: 400;\"> Se si verifica un errore su una colonna gi\u00e0 esistente, la funzione restituisce false e il modulo viene disabilitato. Se si interrompe un aggiornamento precedente, si ripristina un backup parziale o si sincronizza due volte dall&#8217;area di staging, si finisce nel problema.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ogni modifica dello schema che scrivo ora controlla prima. L&#8217;aggiunta di una colonna significa un <\/span><span style=\"font-weight: 400;\">MOSTRA COLONNE<\/span><span style=\"font-weight: 400;\"> prima, creare una tabella significa <\/span><span style=\"font-weight: 400;\">MOSTRA LE TABELLE<\/span><span style=\"font-weight: 400;\">, un indice significa <\/span><span style=\"font-weight: 400;\">MOSTRA INDICE<\/span><span style=\"font-weight: 400;\">. Poche righe e lo script sopravvive a una seconda esecuzione. Questo \u00e8 importante, perch\u00e9 il database di uno sconosciuto pu\u00f2 trovarsi in qualsiasi stato. C&#8217;\u00e8 <\/span><span style=\"font-weight: 400;\">SE NON ESISTE<\/span><span style=\"font-weight: 400;\"> in entrambi <\/span><a href=\"https:\/\/mariadb.com\/kb\/en\/alter-table\/\"><span style=\"font-weight: 400;\">MySQL e MariaDB<\/span><\/a><span style=\"font-weight: 400;\">ma solo su alcune operazioni, quindi il controllo esplicito funziona meglio.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Multistore: righe di configurazione scritte solo per un singolo negozio<\/span><\/h3>\n<p><a href=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-840864\" src=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config.jpg\" alt=\"Confronto degli aggiornamenti del database del modulo PrestaShop che mostra una chiave di configurazione senza valore predefinito che causa errori in modalit\u00e0 debug rispetto a un valore predefinito scritto per ogni negozio\" width=\"1234\" height=\"661\" srcset=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config.jpg 1234w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config-300x161.jpg 300w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config-1024x549.jpg 1024w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/03-multistore-config-768x411.jpg 768w\" sizes=\"auto, (max-width: 1234px) 100vw, 1234px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Silenzioso e insidioso, questo. Nella nuova versione \u00e8 arrivata un&#8217;impostazione per singolo negozio. Riga predefinita creata dallo script di aggiornamento, testata dallo sviluppatore, tutto sembra a posto. Ma \u00e8 stata scritta una riga, per il negozio in questione, e il commerciante ne gestisce quattro.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ora mancano tre negozi. A seconda di come il tuo codice lo interpreta, ricevi un avviso PHP, un valore vuoto trattato come un&#8217;impostazione reale o uno spazio vuoto dove dovrebbe esserci un prezzo. <\/span><a href=\"https:\/\/devdocs.prestashop-project.org\/8\/modules\/concepts\/multistore\/\"><span style=\"font-weight: 400;\">documentazione multi-negozio<\/span><\/a><span style=\"font-weight: 400;\"> copre le regole di contesto. Esegui un ciclo su ogni ID negozio in qualsiasi aggiornamento che coinvolga la configurazione o i dati specifici del negozio.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">In un&#8217;installazione a negozio singolo, questo bug \u00e8 invisibile.<\/span><\/i><\/p>\n<h3><span style=\"font-weight: 400;\">ALTER TABLE blocca le grandi tabelle dei cataloghi<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">L&#8217;aggiunta di una colonna a una tabella di 400,000 righe non \u00e8 mai istantanea. A seconda dell&#8217;operazione, della versione di MySQL e del motore di archiviazione, potrebbe essere necessario copiare l&#8217;intera tabella. In un negozio online attivo, durante l&#8217;orario di negoziazione, questo blocco dura abbastanza a lungo da essere notato dai clienti.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Quindi, prima di scrivere la migrazione, verifico le dimensioni della tabella. Se \u00e8 grande: finestra di manutenzione, oppure ristrutturazione per evitare la ricostruzione.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">La chiave di configurazione senza valore predefinito<\/span><\/h3>\n<p><a href=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-840863\" src=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default.jpg\" alt=\"Confronto del codice che mostra un controllo dello schema PrestaShop non protetto rispetto a uno protetto.\" width=\"1237\" height=\"645\" srcset=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default.jpg 1237w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default-300x156.jpg 300w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default-1024x534.jpg 1024w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/02-config-default-768x400.jpg 768w\" sizes=\"auto, (max-width: 1237px) 100vw, 1237px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Quello che vedo pi\u00f9 spesso nei moduli di altri, e non prevede l&#8217;uso di tabelle.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Aggiungi un&#8217;impostazione nella nuova versione. Il modulo di amministrazione la legge. Cos\u00ec come il front controller. Entrambi sono stati scritti su una macchina in cui la pagina delle impostazioni era gi\u00e0 stata salvata almeno una volta. Quindi la chiave esiste e tutto sembra a posto. Distribuiscila e ogni installazione esistente sta leggendo un <\/span><span style=\"font-weight: 400;\">Configurazione<\/span><span style=\"font-weight: 400;\"> chiave che nessuno ha mai scritto.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ci\u00f2 che ritorna \u00e8 <\/span><span style=\"font-weight: 400;\">falso<\/span><span style=\"font-weight: 400;\">Il tuo valore predefinito non viene mai visualizzato, n\u00e9 una stringa vuota che potresti almeno verificare. Da l\u00ec viene utilizzato come numero o passato a una funzione che richiedeva una stringa. Con la modalit\u00e0 di debug disattivata, spesso te la cavi: il commerciante vede una pagina leggermente errata e non ci pensa due volte. Con la modalit\u00e0 di debug attivata, l&#8217;errore si manifesta come una notifica o un errore di tipo. Ed \u00e8 cos\u00ec che ti arriva la notizia che &#8220;il modulo si blocca in modalit\u00e0 di debug&#8221;, quando in realt\u00e0 solo la modalit\u00e0 di debug \u00e8 effettivamente coinvolta.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Lo stesso codice, con e senza l&#8217;impostazione predefinita.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">La soluzione \u00e8 banale. Ogni nuova chiave di configurazione ha il suo valore predefinito scritto nello script di aggiornamento, per ogni negozio, distribuito insieme al codice che lo legge. Leggetelo con attenzione, perch\u00e9 non potete essere certi che l&#8217;aggiornamento sia andato a buon fine.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Migrazione del database del modulo PrestaShop rispetto alla modifica dello schema.<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Le modifiche allo schema sono la parte pi\u00f9 semplice. La parte difficile inizia quando cambia il significato dei dati esistenti: dividere una colonna in due, spostare un campo CSV in una tabella correlata, ricodificare uno stato.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00c8 l\u00ec che ho visto i danni maggiori. Un lavoro mal riuscito <\/span><span style=\"font-weight: 400;\">ALTER TABLE<\/span><span style=\"font-weight: 400;\"> Fallisce rumorosamente; una trasformazione dei dati mal riuscita ha successo e scrive cose senza senso. Una migrazione del database di un modulo PrestaShop che sposta i dati richiede un conteggio prima e dopo, quindi un confronto. Meglio scoprirlo all&#8217;interno dello script di aggiornamento che da un commerciante tre settimane dopo.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Migliori pratiche per l&#8217;aggiornamento del modulo PrestaShop 3.0 che difenderei senza esitazione<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Coloro che mi hanno salvato:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Rendere ogni migrazione idempotente<\/span><\/h3>\n<p><a href=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-840865\" src=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration.jpg\" alt=\"Aggiornamenti del database dei moduli PrestaShop: migrazione che presuppone un inizio pulito rispetto a una che controlla prima\" width=\"1234\" height=\"612\" srcset=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration.jpg 1234w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration-300x149.jpg 300w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration-1024x508.jpg 1024w, https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/04-idempotent-migration-768x381.jpg 768w\" sizes=\"auto, (max-width: 1234px) 100vw, 1234px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Nulla dovrebbe cambiare nella seconda esecuzione che la prima esecuzione non abbia gi\u00e0 gestito. Ottieni quella propriet\u00e0 e un&#8217;intera categoria di problemi di supporto scompare, perch\u00e9 lo stato del database smette di essere qualcosa che devi stabilire prima. Prima di scrivere SQL grezzo sulle tabelle principali, PrestaShop <\/span><a href=\"https:\/\/devdocs.prestashop-project.org\/8\/development\/database\/\"><span style=\"font-weight: 400;\">note sui livelli del database<\/span><\/a><span style=\"font-weight: 400;\"> valgono un&#8217;ora.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">La versione protetta sopravvive a una seconda esecuzione.<\/span><\/i><\/p>\n<h3><span style=\"font-weight: 400;\">Registra ogni errore invece di restituire automaticamente false<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Un nudo <\/span><span style=\"font-weight: 400;\">restituire false<\/span><span style=\"font-weight: 400;\"> Questo \u00e8 sufficiente perch\u00e9 PrestaShop si fermi e disabiliti il \u200b\u200bmodulo. Non \u00e8 sufficiente per te. Quindi, completa il lavoro. Cattura tutto ci\u00f2 che ne deriva e passalo a PrestaShopLogger con il nome e la versione del modulo allegati. Altrimenti, un commerciante segnala un aggiornamento fallito e tu vai a tentoni.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Su PHP 7 e versioni successive, cattura <\/span><span style=\"font-weight: 400;\">Errore<\/span><span style=\"font-weight: 400;\"> cos\u00ec come <\/span><span style=\"font-weight: 400;\">Eccezione<\/span><span style=\"font-weight: 400;\">. Ricevi un errore di tipo nel tuo codice di migrazione e arriva come un <\/span><span style=\"font-weight: 400;\">Errore<\/span><span style=\"font-weight: 400;\">, quindi un gestore che guarda solo per <\/span><span style=\"font-weight: 400;\">Eccezione<\/span><span style=\"font-weight: 400;\"> lo lascia passare.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Supporta ogni versione che hai mai rilasciato<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Un commerciante pu\u00f2 utilizzare qualsiasi versione rilasciata. Chi passa dalla versione 1.4 alla 3.0 esegue tutti gli script intermedi, in ordine, quindi ognuno deve funzionare con lo schema lasciato in eredit\u00e0 dal precedente. Ecco perch\u00e9 i vecchi file di aggiornamento rimangono nel modulo. Chi \u00e8 rimasto indietro di due anni non ha altra via d&#8217;uscita.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Eseguire il test sull&#8217;ambiente di staging, non su un&#8217;installazione locale pulita.<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Una nuova installazione della nuova versione non dimostra nulla riguardo all&#8217;aggiornamento. Quello che dovresti fare invece \u00e8: installare la vecchia versione, inserire dati realistici e poi aggiornare. Anche su pi\u00f9 store, se lo supporti.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Meglio ancora: prendi una copia di un negozio reale e passa l&#8217;aggiornamento attraverso quello. La tua installazione locale ha dati puliti e quattro prodotti, ecco perch\u00e9 non mostra nulla. Un negozio reale ha importazioni incomplete, righe lasciate da un modulo disinstallato due anni fa, colonne aggiunte a mano da un precedente sviluppatore, un catalogo abbastanza grande da <\/span><span style=\"font-weight: 400;\">ALTER TABLE<\/span><span style=\"font-weight: 400;\"> ci vuole un po&#8217; di tempo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Poi c&#8217;\u00e8 la questione dei tempi. \u00c8 pi\u00f9 facile capire se un aggiornamento richiede sei minuti, basandosi su dati reali, quando si prenota una finestra di manutenzione, piuttosto che alle undici di venerd\u00ec.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Eseguite un backup prima di apportare modifiche allo schema e comunicatelo.<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Prima di un aggiornamento di un modulo, non viene creata alcuna istantanea delle tabelle. N\u00e9 da PrestaShop, n\u00e9 da nessun altro sistema. Quindi, se il commerciante non ha un backup e la migrazione si interrompe a met\u00e0 della trasformazione dei dati, quei dati andranno persi. \u00c8 meglio specificarlo nel registro delle modifiche, piuttosto che scoprirlo insieme.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Recupero di un aggiornamento del database di PrestaShop non riuscito<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Aggiornamento non riuscito su un negozio online; modulo disabilitato. All&#8217;incirca in quest&#8217;ordine:<\/span><\/p>\n<p><b>Scopri quale versione ha fallito.<\/b><span style=\"font-weight: 400;\"> Questa operazione viene registrata e, se hai scritto un messaggio di log, sar\u00e0 presente anche quello. Insieme, saprai quale script aprire e quali modifiche sono state applicate prima dell&#8217;interruzione.<\/span><\/p>\n<p><b>Verifica lo schema effettivo, non il numero di versione.<\/b><span style=\"font-weight: 400;\"> Tutto l&#8217; <\/span><span style=\"font-weight: 400;\">modulo<\/span><span style=\"font-weight: 400;\"> La tabella conosce ci\u00f2 che l&#8217;ultimo aggiornamento riuscito ha scritto. Le tabelle reali sono dove si trova la risposta, confrontate con qualunque cosa lo script fallito stesse cercando di fare.<\/span><\/p>\n<p><b>Puntare in avanti, non indietro.<\/b><span style=\"font-weight: 400;\"> Ripristinare la versione precedente \u00e8 allettante, ma di solito sbagliato, perch\u00e9 gli script precedenti sono gi\u00e0 stati eseguiti e rieseguirli su uno schema parzialmente modificato trasforma un problema in tre. Scrivi una migrazione correttiva dallo schema attuale a quello corretto.<\/span><\/p>\n<p><b>Quindi bisogna capire perch\u00e9 la migrazione non \u00e8 stata idempotente.<\/b><span style=\"font-weight: 400;\"> Questo \u00e8 il vero bug.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Una breve lista di controllo prima di rilasciare un aggiornamento del modulo<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Ecco la lista che gestisco:<\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400;\"> Versione principale della classe, la pi\u00f9 alta <\/span><span style=\"font-weight: 400;\">aggiornamento-*.php<\/span><span style=\"font-weight: 400;\"> file: corrispondono?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Ogni funzione di aggiornamento prende il nome dalla versione del proprio file?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Ogni modifica allo schema verifica prima se \u00e8 gi\u00e0 stata applicata.<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Ogni configurazione viene scritta ciclicamente su tutti i negozi?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Ogni nuova chiave di configurazione riceve un valore predefinito per le installazioni esistenti?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Hai gi\u00e0 effettuato una prova su una riproduzione di un negozio reale?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> \u00c8 stata installata la vecchia versione, sono stati aggiunti i dati e poi \u00e8 stato effettuato l&#8217;aggiornamento?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Stesso percorso su pi\u00f9 negozi?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Qualcosa di utile registrato prima di ogni <\/span><span style=\"font-weight: 400;\">restituire false<\/span><span style=\"font-weight: 400;\">?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> attraente <\/span><span style=\"font-weight: 400;\">Errore<\/span><span style=\"font-weight: 400;\"> cos\u00ec come <\/span><span style=\"font-weight: 400;\">Eccezione<\/span><span style=\"font-weight: 400;\">?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Vecchi file di aggiornamento sono ancora presenti per i commercianti con versioni precedenti di diverse settimane?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Registro delle modifiche che invita i commercianti a fare un backup?<\/span><\/li>\n<li><span style=\"font-weight: 400;\"> Su un tavolo grande, quanto \u00e8 lungo? <\/span><span style=\"font-weight: 400;\">ET\u00c0<\/span><span style=\"font-weight: 400;\"> stai tenendo un lucchetto?<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Gli elementi 6 e 7 sono quelli che le persone saltano, e insieme riescono a cogliere la maggior parte del problema.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusione<\/span><\/h2>\n<p><b>Aggiornamento del modulo PrestaShop<\/b><span style=\"font-weight: 400;\"> I problemi sono scomodi per un motivo: non c&#8217;\u00e8 alcun preavviso. Il modulo segnala la sua nuova versione senza problemi. La pagina di amministrazione si carica. Nessun log, a meno che non li abbiate scritti voi. Nel frattempo, il vostro codice si aspetta una cosa, il database ne contiene un&#8217;altra, e quest&#8217;ultima rimane invariata finch\u00e9 qualcuno non utilizza la funzionalit\u00e0 che si trova nel mezzo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tratta lo schema come parte della release. Scrivi migrazioni che sopravvivano a una seconda esecuzione. Registra cosa \u00e8 successo. Mettilo in staging prima che lo faccia qualsiasi commerciante. Lato framework, PrestaShop <\/span><a href=\"https:\/\/devdocs.prestashop-project.org\/8\/modules\/creation\/\"><span style=\"font-weight: 400;\">documentazione per lo sviluppo del modulo<\/span><\/a><span style=\"font-weight: 400;\"> \u00e8 il punto di partenza.<\/span><\/p>\n<p>Se hai domande o hai bisogno di assistenza per le prestazioni o la migrazione del tuo sito web, i nostri esperti sono qui per aiutarti. Contatta il team di Knowband all&#8217;indirizzo <a href=\"\/it\/cdn-cgi\/l\/email-protection#f5868085859a8781b59e9b9a8297949b91db969a98\"><span class=\"__cf_email__\" data-cfemail=\"ee9d9b9e9e819c9aae858081998c8f808ac08d8183\">[email protected]<\/span><\/a> Oggi stesso potrete usufruire di plugin per e-commerce affidabili e personalizzati in base alle vostre esigenze.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C&#8217;\u00e8 un tipo di richiesta di assistenza che ho imparato a temere. Un commerciante aggiorna un modulo; l&#8217;aggiornamento sembra andare a buon fine, poi qualcosa smette di funzionare. Mai l&#8217;intero negozio. Una pagina del controller di PrestaShop che non funziona correttamente, o un valore di configurazione che non viene salvato, o una colonna di un [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":840930,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kbui_enabled":"","footnotes":""},"categories":[3241,3242],"tags":[52463,52464,52468,52466,52467,42513,52465,52470,42412,52469],"class_list":["post-840913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prestashop-it","category-prestashop-esercitazioni","tag-aggiornamenti-del-database-del-modulo-prestashop","tag-aggiornamenti-del-modulo-prestashop","tag-aggiornamento-del-database-di-prestashop","tag-aggiornamento-del-modulo-prestashop","tag-migrazione-del-database-del-modulo-prestashop","tag-migrazione-del-database-prestashop","tag-modifiche-al-database-di-prestashop","tag-modifiche-allo-schema-del-database-di-prestashop","tag-prestashop-database-migration","tag-procedure-consigliate-per-laggiornamento-del-modulo-prestashop"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gestione delle modifiche al database durante l&#039;aggiornamento dei moduli | PrestaShop<\/title>\n<meta name=\"description\" content=\"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l&#039;aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gestione delle modifiche al database durante l&#039;aggiornamento dei moduli | PrestaShop\" \/>\n<meta property=\"og:description\" content=\"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l&#039;aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/\" \/>\n<meta property=\"og:site_name\" content=\"Knowband Blog | Ecommerce Modules\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Knowband\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T12:41:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-22T06:04:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1983\" \/>\n\t<meta property=\"og:image:height\" content=\"793\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Olivia Smith\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@KnowbandPlugin\" \/>\n<meta name=\"twitter:site\" content=\"@KnowbandPlugin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Smith\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/\"},\"author\":{\"name\":\"Olivia Smith\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#\\\/schema\\\/person\\\/d06d387c1a539103dd802941df1953c0\"},\"headline\":\"Gestione delle modifiche al database durante gli aggiornamenti dei moduli in PrestaShop\",\"datePublished\":\"2026-08-18T12:41:53+00:00\",\"dateModified\":\"2026-08-22T06:04:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/\"},\"wordCount\":2349,\"publisher\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png\",\"keywords\":[\"aggiornamenti del database del modulo PrestaShop\",\"Aggiornamenti del modulo PrestaShop\",\"Aggiornamento del database di PrestaShop\",\"Aggiornamento del modulo PrestaShop\",\"Migrazione del database del modulo PrestaShop\",\"Migrazione del database PrestaShop\",\"modifiche al database di PrestaShop\",\"modifiche allo schema del database di PrestaShop\",\"PrestaShop database migration\",\"Procedure consigliate per l'aggiornamento del modulo PrestaShop\"],\"articleSection\":[\"Prestashop\",\"Prestashop Esercitazioni\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/\",\"name\":\"Gestione delle modifiche al database durante l'aggiornamento dei moduli | PrestaShop\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png\",\"datePublished\":\"2026-08-18T12:41:53+00:00\",\"dateModified\":\"2026-08-22T06:04:21+00:00\",\"description\":\"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l'aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png\",\"contentUrl\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png\",\"width\":1983,\"height\":793,\"caption\":\"Gestione delle modifiche al database durante l'aggiornamento dei moduli PrestaShop\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/prestashop-it\\\/managing-database-changes-during-module-updates-prestashop\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gestione delle modifiche al database durante gli aggiornamenti dei moduli in PrestaShop\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/\",\"name\":\"Knowband Blog | Ecommerce Modules\",\"description\":\"Magento, Prestashop, Opencart, Shopify\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#organization\",\"name\":\"Knowband Blog | Ecommerce Modules\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/cropped-knowband_logo-v2.png\",\"contentUrl\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/cropped-knowband_logo-v2.png\",\"width\":153,\"height\":61,\"caption\":\"Knowband Blog | Ecommerce Modules\"},\"image\":{\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Knowband\",\"https:\\\/\\\/x.com\\\/KnowbandPlugin\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/fr\\\/#\\\/schema\\\/person\\\/d06d387c1a539103dd802941df1953c0\",\"name\":\"Olivia Smith\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/plugins\\\/wp-user-avatar\\\/deprecated\\\/wp-user-avatar\\\/images\\\/wpua-96x96.png\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/plugins\\\/wp-user-avatar\\\/deprecated\\\/wp-user-avatar\\\/images\\\/wpua-96x96.png\",\"contentUrl\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/wp-content\\\/plugins\\\/wp-user-avatar\\\/deprecated\\\/wp-user-avatar\\\/images\\\/wpua-96x96.png\",\"caption\":\"Olivia Smith\"},\"description\":\"Olivia ist eCommerce-Technikberaterin bei Knowband und unterst\u00fctzt H\u00e4ndler dabei, das Beste aus Plattformen wie PrestaShop, Shopify, Magento, WooCommerce und OpenCart herauszuholen. Ihre Beitr\u00e4ge reichen von der Plugin-Einrichtung \u00fcber die Shop-Anpassung bis hin zu Performance und Fehlerbehebung \u2013 immer mit dem Ziel, Shopbetreibern praktisches, direkt umsetzbares technisches Wissen zu vermitteln. Bei Knowband sind wir Experten der eCommerce-Branche mit Schwerpunkt auf der Entwicklung von Plugins. Mit langj\u00e4hriger Erfahrung bieten wir die besten Plugins f\u00fcr Plattformen wie Magento, PrestaShop, OpenCart und Shopify. Zudem entwickeln und passen wir Module individuell f\u00fcr Websites und Onlineshops an. Unser Team bleibt stets auf dem neuesten Stand der Branchentrends und liefert innovative L\u00f6sungen zur Verbesserung der Funktionalit\u00e4t von eCommerce-Websites. Mit einem kundenorientierten Ansatz ist Knowband ein vertrauensw\u00fcrdiger Partner f\u00fcr eCommerce-Plugin-L\u00f6sungen.\",\"url\":\"https:\\\/\\\/www.knowband.com\\\/blog\\\/it\\\/author\\\/olivia\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Gestione delle modifiche al database durante l'aggiornamento dei moduli | PrestaShop","description":"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l'aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/","og_locale":"it_IT","og_type":"article","og_title":"Gestione delle modifiche al database durante l'aggiornamento dei moduli | PrestaShop","og_description":"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l'aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.","og_url":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/","og_site_name":"Knowband Blog | Ecommerce Modules","article_publisher":"https:\/\/www.facebook.com\/Knowband","article_published_time":"2026-08-18T12:41:53+00:00","article_modified_time":"2026-08-22T06:04:21+00:00","og_image":[{"width":1983,"height":793,"url":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png","type":"image\/png"}],"author":"Olivia Smith","twitter_card":"summary_large_image","twitter_creator":"@KnowbandPlugin","twitter_site":"@KnowbandPlugin","twitter_misc":{"Written by":"Olivia Smith","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#article","isPartOf":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/"},"author":{"name":"Olivia Smith","@id":"https:\/\/www.knowband.com\/blog\/fr\/#\/schema\/person\/d06d387c1a539103dd802941df1953c0"},"headline":"Gestione delle modifiche al database durante gli aggiornamenti dei moduli in PrestaShop","datePublished":"2026-08-18T12:41:53+00:00","dateModified":"2026-08-22T06:04:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/"},"wordCount":2349,"publisher":{"@id":"https:\/\/www.knowband.com\/blog\/fr\/#organization"},"image":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#primaryimage"},"thumbnailUrl":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png","keywords":["aggiornamenti del database del modulo PrestaShop","Aggiornamenti del modulo PrestaShop","Aggiornamento del database di PrestaShop","Aggiornamento del modulo PrestaShop","Migrazione del database del modulo PrestaShop","Migrazione del database PrestaShop","modifiche al database di PrestaShop","modifiche allo schema del database di PrestaShop","PrestaShop database migration","Procedure consigliate per l'aggiornamento del modulo PrestaShop"],"articleSection":["Prestashop","Prestashop Esercitazioni"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/","url":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/","name":"Gestione delle modifiche al database durante l'aggiornamento dei moduli | PrestaShop","isPartOf":{"@id":"https:\/\/www.knowband.com\/blog\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#primaryimage"},"image":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#primaryimage"},"thumbnailUrl":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png","datePublished":"2026-08-18T12:41:53+00:00","dateModified":"2026-08-22T06:04:21+00:00","description":"In questa guida di Knowband scoprirai come gestire le modifiche al database durante l'aggiornamento dei moduli in PrestaShop 1.7.x, 8.x e 9.x.","breadcrumb":{"@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#primaryimage","url":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png","contentUrl":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-Aug-22-2026-11_32_47-AM.png","width":1983,"height":793,"caption":"Gestione delle modifiche al database durante l'aggiornamento dei moduli PrestaShop"},{"@type":"BreadcrumbList","@id":"https:\/\/www.knowband.com\/blog\/it\/prestashop-it\/managing-database-changes-during-module-updates-prestashop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.knowband.com\/blog\/fr\/"},{"@type":"ListItem","position":2,"name":"Gestione delle modifiche al database durante gli aggiornamenti dei moduli in PrestaShop"}]},{"@type":"WebSite","@id":"https:\/\/www.knowband.com\/blog\/fr\/#website","url":"https:\/\/www.knowband.com\/blog\/fr\/","name":"Knowband Blog | Ecommerce Modules","description":"Magento, Prestashop, Opencart, Shopify","publisher":{"@id":"https:\/\/www.knowband.com\/blog\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.knowband.com\/blog\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.knowband.com\/blog\/fr\/#organization","name":"Knowband Blog | Ecommerce Modules","url":"https:\/\/www.knowband.com\/blog\/fr\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.knowband.com\/blog\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2016\/09\/cropped-knowband_logo-v2.png","contentUrl":"https:\/\/www.knowband.com\/blog\/wp-content\/uploads\/2016\/09\/cropped-knowband_logo-v2.png","width":153,"height":61,"caption":"Knowband Blog | Ecommerce Modules"},"image":{"@id":"https:\/\/www.knowband.com\/blog\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Knowband","https:\/\/x.com\/KnowbandPlugin"]},{"@type":"Person","@id":"https:\/\/www.knowband.com\/blog\/fr\/#\/schema\/person\/d06d387c1a539103dd802941df1953c0","name":"Olivia Smith","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.knowband.com\/blog\/wp-content\/plugins\/wp-user-avatar\/deprecated\/wp-user-avatar\/images\/wpua-96x96.png","url":"https:\/\/www.knowband.com\/blog\/wp-content\/plugins\/wp-user-avatar\/deprecated\/wp-user-avatar\/images\/wpua-96x96.png","contentUrl":"https:\/\/www.knowband.com\/blog\/wp-content\/plugins\/wp-user-avatar\/deprecated\/wp-user-avatar\/images\/wpua-96x96.png","caption":"Olivia Smith"},"description":"Olivia ist eCommerce-Technikberaterin bei Knowband und unterst\u00fctzt H\u00e4ndler dabei, das Beste aus Plattformen wie PrestaShop, Shopify, Magento, WooCommerce und OpenCart herauszuholen. Ihre Beitr\u00e4ge reichen von der Plugin-Einrichtung \u00fcber die Shop-Anpassung bis hin zu Performance und Fehlerbehebung \u2013 immer mit dem Ziel, Shopbetreibern praktisches, direkt umsetzbares technisches Wissen zu vermitteln. Bei Knowband sind wir Experten der eCommerce-Branche mit Schwerpunkt auf der Entwicklung von Plugins. Mit langj\u00e4hriger Erfahrung bieten wir die besten Plugins f\u00fcr Plattformen wie Magento, PrestaShop, OpenCart und Shopify. Zudem entwickeln und passen wir Module individuell f\u00fcr Websites und Onlineshops an. Unser Team bleibt stets auf dem neuesten Stand der Branchentrends und liefert innovative L\u00f6sungen zur Verbesserung der Funktionalit\u00e4t von eCommerce-Websites. Mit einem kundenorientierten Ansatz ist Knowband ein vertrauensw\u00fcrdiger Partner f\u00fcr eCommerce-Plugin-L\u00f6sungen.","url":"https:\/\/www.knowband.com\/blog\/it\/author\/olivia\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/posts\/840913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/comments?post=840913"}],"version-history":[{"count":1,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/posts\/840913\/revisions"}],"predecessor-version":[{"id":840931,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/posts\/840913\/revisions\/840931"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/media\/840930"}],"wp:attachment":[{"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/media?parent=840913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/categories?post=840913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.knowband.com\/blog\/it\/wp-json\/wp\/v2\/tags?post=840913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}