Come pulisco vecchi carrelli, log e statistiche da un database PrestaShop?

Domanda pubblicata 272 visualizzazioni

Nel tempo un database PrestaShop si riempie di dati che non ti servono piu: carrelli abbandonati, righe carrello orfane, prezzi specifici e regole carrello scaduti, vecchi record connection e guest, statistiche ricerca, log mail e 404, visualizzazioni pagina e thread cliente chiusi. Se non controllate, queste tabelle rallentano le query e gonfiano i backup. Per pulirle in sicurezza, usa Cleanup Revolution: raggruppa ogni pulizia in task nominati, conta le righe interessate prima dell'eliminazione, supporta anteprime dry-run di default e registra le esecuzioni reali nello storico cleanup. Inizia con carrelli abbandonati piu vecchi di 30 giorni e statistiche ricerca/connection obsolete, controlla i conteggi in anteprima, poi elimina in batch. Fai sempre prima un backup del database. Per manutenzione continua, pianifica i task invece di eseguirli a mano; vedi la nostra guida performance PrestaShop.

Anteprima dry-run di Cleanup Revolution con conteggio attività
Cleanup Revolution - anteprima dry-run con le attività di pulizia rilevate.

Before any real cleanup, make a fresh database backup and run the module preview first. Do not delete rows manually with SQL; use Cleanup Revolution's dry-run counts, review the affected tasks, then run the cleanup from the module in controlled batches.

mysqldump -u db_user -p db_name > prestashop-before-cleanup.sql

La configurazione predefinita e volutamente conservativa: dry run e abilitato di default, trash mode e abilitato, i carrelli abbandonati hanno default 30 giorni, molti log/statistiche 90 giorni, thread cliente chiusi 180 giorni, account vuoti 365 giorni, e il motore usa dimensioni batch per task piu un limite totale di 50000. Un task senza righe da rimuovere viene saltato dal runner bulk, e l'eliminazione reale avviene in batch invece che come una singola istruzione enorme.

Un dettaglio dell'audit-log conta: le esecuzioni dry-run restituiscono il conteggio interessato prima che venga chiamato MPRCleanupLog::record(), quindi le anteprime dry-run non vengono scritte nello storico cleanup. Le pulizie database reali vengono loggate con dry_run = 0. Le azioni manuali nel Back Office chiamano DatabaseCleanupEngine::executeTask(..., $employeeID) oppure DatabaseCleanupEngine::executeAll($dryRun, $employeeID), quindi usano il valore predefinito trigger_type = manual e registrano l’ID del dipendente quando disponibile. La pulizia programmata del database chiama MPRCleanupRevolution::cronDBCleanup(), che passa DatabaseCleanupEngine::executeAll(false, null, 'cron'); di conseguenza, quelle righe di log registrano trigger_type = cron senza ID dipendente.

Il motore cleanup database include task nominati per carrelli abbandonati, prodotti carrello orfani, statistiche ricerca, prezzi specifici scaduti, regole carrello scadute con quantita zero, vecchi log, vecchie connessioni, righe connection orfane, vecchi guest, log mail, log 404, visualizzazioni pagina, thread cliente chiusi e cache referrer. Ha anche pulizie commerciali a rischio piu alto come account ospite senza ordini, indirizzi orfani e vecchi account registrati senza ordini o carrelli recenti. I default cron dividono il lavoro in finestre di database cleanup, file cleanup e ottimizzazione tabelle, cosi puoi automatizzare la manutenzione senza eseguire ogni operazione pesante insieme.

Questa risposta ti è stata utile?

Prodotti correlati

Cleanup Revolution
299,00 €

Hai ancora domande?

Non trovi quello che cerchi? Inviaci la tua domanda e ti risponderemo.

Caricamento...
Torna su