Pulizia del database: configurazione e aiuto

Avvio rapido

  1. Carica e installa lo ZIP di mprdatabasecleanup tramite "Module Manager", poi clicca su "Configure".
  2. Scegli il contesto del negozio desiderato e controlla i permessi dei dipendenti e lo spazio privato per i backup descritti sotto.
  3. In Configurazione, controlla Attivo e Conservazione archivi in ore, poi apri la politica della prima attività di pulizia.
  4. Apri Area di pulizia, seleziona un’attività in Attività e clicca su Anteprima pulizia.
  5. Controlla ID esecuzione e Impronta del piano salvati, negozi interessati, conteggi dei candidati, protezioni, stime e conflitti.
  6. Per attività a rischio elevato o alto, completa Verifica backup e Approva questo piano prima di Esegui il piano approvato. Per un’attività a basso rischio, controlla e conferma l’esecuzione.
  7. Controlla Cronologia e il rapporto finale. Conferma Completato ed esamina le righe saltate o non riuscite prima di pianificare un’altra esecuzione.

Richiede PrestaShop 1.6 o successivo e PHP 7.1 o successivo.

Manuale di configurazione

Installazione e prima configurazione

Segui i passaggi in Avvio rapido.

Prepara accessi e archiviazione

Il modulo aggiunge "Configure" > Database Cleanup con Area di pulizia, Cronologia, Backup e ripristino e Impostazioni. Impostazioni > Configurazione apre il modulo di configurazione. Integrità, Licenza, Supporto e Aggiorna sono pagine di manutenzione.

Seleziona il contesto del negozio desiderato. Il modulo controlla i permessi nativi dei profili dipendente e i negozi autorizzati. Ha voci di permesso separate per Anteprima pulizia, Pulizia statistiche, Pulizia dati personali, Pulizia catalogo, Approva esecuzioni distruttive, Esecuzione immediata e pianificazione, Esporta backup cifrati, Ripristina backup e Ottimizza tabelle. Concedi ai dipendenti solo l’accesso necessario ad attività e operazioni. I permessi mancanti disattivano o fanno rifiutare l’azione corrispondente.

L’ispezione delle attività usa l’accesso in lettura; l’eliminazione dei dati tramite un’attività richiede il permesso di eliminazione per la relativa categoria. Approvazione, verifica dei backup, pianificazione, ripristino, esportazione dei backup e ottimizzazione richiedono il rispettivo permesso di modifica. Anche l’esecuzione CLI controlla un dipendente reale e l’accesso ai negozi.

Gli archivi crittografati delle righe richiedono OpenSSL con AES-256-GCM e uno spazio privato scrivibile. Per impostazione predefinita il modulo usa una directory nascosta .mprdatabasecleanup-... accanto alla radice del negozio. La costante di configurazione del server MPRDBCLEAN_STORAGE_ROOT può scegliere un’altra radice privata. La radice e la directory archives devono avere permessi privati 0700; il file generato archive.key deve avere 0600. Il modulo rifiuta directory con collegamenti simbolici o permessi non sicuri. Proteggi e conserva la chiave con i materiali di recupero. Gli archivi crittografati esportati non la includono.

Prima della prima esecuzione distruttiva, conserva un backup completo separato del database. Gli archivi di righe del modulo coprono il flusso di pulizia e non sono un backup completo del negozio.

Configura l’esecuzione e le politiche delle attività

Apri Configurazione. Il primo modulo contiene:

Impostazione Valore predefinito Funzione
Attivo Eredita; Sì effettivo quando non esiste un valore Scegli Sì o No per l’ambito selezionato, oppure Eredita per usare il padre. Il valore effettivo viene controllato prima dei lotti distruttivi, inclusi ripristino e ottimizzazione.
Conservazione archivi in ore 720 Durata degli archivi, equivalente a 30 giorni. Inserisci un valore positivo fino a 87600. Per un’esecuzione multinegozio si applica la conservazione effettiva più lunga.

Seleziona un’attività dall’elenco delle politiche. Il suo modulo espone:

Impostazione Valore predefinito Quando modificarla
Attivo Sì tranne le attività facoltative sotto Attiva un’attività facoltativa solo se intendi includerla. È separata dall’interruttore generale di esecuzione.
Giorni di conservazione Specifico dell’attività, sotto Modifica la soglia di anzianità. Inserisci un intero positivo; 0 non significa conservazione illimitata qui.
Dimensione del lotto 1000 Riduci la dimensione del lotto se le singole operazioni caricano troppo il server. Massimo 10000.
Limite di righe per esecuzione 50000 Limita il numero di righe elaborate usando il limite salvato nella regola.
Tempo massimo per esecuzione in millisecondi 1000 Limita la durata del lavoro. Inserisci un valore positivo fino a 3600000.
Età massima del backup in ore 24 Anzianità massima accettabile della verifica del backup richiesta. Rinnova la verifica quando diventa obsoleta. Massimo 87600.
Pianificazione attività Vuoto Espressione cron a cinque campi per l’attività, ad esempio 0 3 * * *. Lascia vuoto per disattivare la pianificazione. Richiede il processo cron del server descritto sotto.
Fuso orario UTC Fuso orario usato per valutare la pianificazione dell’attività. Usa un identificatore riconosciuto.

Ogni passaggio di elaborazione usa i limiti applicabili più bassi per righe e tempo. Un’esecuzione salvata può richiedere più passaggi per terminare.

Salva la politica dopo le modifiche. Le impostazioni hanno un ambito e sono ereditate; la tabella delle politiche effettive mostra l’origine e i valori risolti per ogni attività e negozio. Un’anteprima salvata contiene l’istantanea della sua politica. Dopo aver cambiato politica o ambito, crea una nuova anteprima anziché riutilizzare l’approvazione di un vecchio piano.

Attività disponibili

La tabella mostra i valori di conservazione forniti e quali attività partono disattivate. La conservazione è una condizione di idoneità; riferimenti, appartenenza e politica del negozio possono proteggere altre righe.

Attività Chiave Giorni Inizialmente attiva
Carrelli abbandonati old_carts 30 Sì
Relazioni orfane dei carrelli orphan_cart_children 30 Sì
Statistiche di ricerca search_stats 90 Sì
Prezzi specifici scaduti expired_specific_prices 30 Sì
Registri obsoleti old_logs 90 Sì
Visite precedenti old_connections 90 Sì
Osservazioni dei visitatori scadute old_guests 90 Sì
Registri email mail_logs 30 Sì
Pagine di visita orfane orphan_connection_pages 90 Sì
Origini di visita orfane orphan_connection_sources 90 Sì
Statistiche delle pagine non trovate missing_pages 90 Sì
Regole carrello scadute expired_cart_rules 30 No
Combinazioni orfane orphan_combinations 90 Sì
Relazioni orfane delle combinazioni orphan_combination_relations 90 Sì
Varianti selezionate del commerciante selected_combinations 90 No
Indice di ricerca orfano orphan_search_index 90 No
Parole di ricerca inutilizzate unused_search_words 90 No
Indirizzi orfani orphan_addresses 90 No
Relazioni orfane del catalogo orphan_catalogue 90 No

I carrelli abbandonati collegati a ordini sono protetti. La pulizia degli ospiti protegge i riferimenti a clienti, carrelli e connessioni. Quando l’anzianità di un ospite è sconosciuta, la conservazione parte dall’osservazione del modulo anziché presumere che un vecchio ospite sia eliminabile in sicurezza. Il modulo osserva gli eventi di aggiunta/aggiornamento di ospiti, carrelli e connessioni.

I prezzi specifici scaduti usano la data di fine e la conservazione, non semplicemente ogni prezzo appena scaduto. Le vere varianti del commerciante usano Varianti selezionate del commerciante con ID espliciti, anteprima e approvazione. Sono distinte dalle attività sulle combinazioni orfane. I controlli dei riferimenti possono escludere righe usate da ordini, carrelli, scorte, fornitori, pacchetti, magazzini, promozioni o moduli.

Visualizza l’anteprima ed esegui la pulizia

Apri Area di pulizia. Seleziona una o più voci in Attività. Il campo facoltativo Giorni di conservazione per questa esecuzione sostituisce la conservazione per questa anteprima. ID delle combinazioni selezionate, separati da virgole fornisce ID espliciti per la pulizia delle varianti del commerciante. Nomi dei moduli riconosciuti, separati da virgole registra le conferme delle dipendenze. Lascia vuoti questi campi facoltativi salvo necessità dell’attività selezionata.

Clicca su Anteprima pulizia. Attendi la fine della pianificazione. Controlla ID esecuzione, Impronta del piano, ambito dei negozi, conteggi dei candidati, righe protette/saltate, dipendenze, rischio e stime. Le stime sono byte logici. L’allocazione del motore e lo spazio riutilizzabile sono misure separate; le righe eliminate non implicano una riduzione equivalente delle dimensioni del file del database.

Per attività a rischio elevato e alto, clicca su Verifica backup, attendi la fine della verifica, poi su Approva questo piano. L’approvazione è legata all’hash esatto del piano e al dipendente autenticato. Non autorizza un piano modificato. Usa Esegui il piano approvato e controlla la conferma.

Per un’attività a basso rischio, usa la conferma di esecuzione dopo aver controllato l’anteprima. Esegui ora parte dalle attività selezionate e usa gli stessi controlli di pianificazione e permessi. Non aggira i requisiti di backup o approvazione per le attività a rischio maggiore.

Il browser fa avanzare il lavoro in richieste limitate. Usa Aggiorna stato per ispezionare un’esecuzione salvata, Annulla esecuzione per richiedere l’annullamento e Riprendi esecuzione quando il rapporto consente la ripresa. Se il risultato è Parziale o "Failed", controlla prima i motivi. Ripetere alla cieca l’attività originale non sostituisce l’esame di un’esecuzione salvata.

Le riparazioni dei dati obsoleti della pagina Integrità creano anteprime di pulizia tramite questo spazio di lavoro. Non usano le vecchie query di eliminazione diretta.

Controlla la cronologia e ripristina

Apri Cronologia e filtra per negozio, intervallo di date, attività, attivatore, ID dipendente o esito. Apri un’esecuzione salvata e controllane conteggi e risultati. "Export report JSON" e "Export report CSV" esportano i rapporti.

Apri Backup e ripristino, carica l’ID esecuzione e ispeziona gli elementi archiviati. Usa ID elemento del backup con Esporta il backup cifrato per esportare un elemento quando autorizzato. Conserva separatamente la chiave privata di crittografia; l’esportazione non la contiene.

Usa Anteprima ripristino e controlla i conflitti. Ripristina il backup verificato usa l’hash dell’anteprima di ripristino e rifiuta le righe attive in conflitto. Crea una nuova anteprima di ripristino ricostruisce l’anteprima quando necessario. Il ripristino dipende da disponibilità, integrità e scadenza degli archivi, corrispondenza dell’ambito e permessi. Non è un pulsante di annullamento incondizionato.

Per la manutenzione delle tabelle, inserisci Tabelle da ottimizzare, separate da virgole, poi usa Anteprima ottimizzazione tabelle, Verifica il backup di ottimizzazione, Approva l’ottimizzazione delle tabelle e Ottimizza tabelle. Controlla questa anteprima separata prima dell’esecuzione. L’ottimizzazione non viene eseguita automaticamente da ogni pulizia.

Elimina gli archivi scaduti esegue la manutenzione degli archivi e richiede l’ambito globale e lo stato di esecuzione appropriati. Controlla la conservazione prima della rimozione. Il modulo non può ripristinare un archivio scaduto o di cui è stata persa la chiave di cifratura.

Usa la riga di comando

Il punto di ingresso CLI è modules/mprdatabasecleanup/bin/cleanup.php. Rifiuta l’esecuzione HTTP. Usa il binario PHP del negozio e sostituisci gli ID di dipendenti/negozi negli esempi con ID autorizzati.

Anteprima di un’attività:

php modules/mprdatabasecleanup/bin/cleanup.php --employee=1 --shops=1 --task=search_stats --preview

L’output è un rapporto JSON. Salva l’ID effettivo dell’esecuzione e l’impronta esatta del piano. Per un’esecuzione che richiede backup e approvazione, esegui comandi separati:

php modules/mprdatabasecleanup/bin/cleanup.php --employee=1 --shops=1 --run-id=RUN_UUID --verify-backup
php modules/mprdatabasecleanup/bin/cleanup.php --employee=1 --shops=1 --run-id=RUN_UUID --approve --plan-hash=PLAN_HASH
php modules/mprdatabasecleanup/bin/cleanup.php --employee=1 --shops=1 --run-id=RUN_UUID --execute

Usa --restore-preview, poi --restore --plan-hash=RESTORE_PREVIEW_HASH per il flusso di ripristino. --verify-backup --renew-backup rinnova la verifica e invalida l’approvazione precedente dove applicabile. --batches=N salva un punto di controllo ed esce dopo un numero limitato di avanzamenti.

Per una nuova anteprima, le sostituzioni supportate includono --retention-days=N, --batch-size=N, --row-budget=N, --time-budget-ms=N, --combination-ids=ID[,ID] e --acknowledged-modules=NAME[,NAME]. Con un --run-id salvato, le sostituzioni di politiche/attività vengono rifiutate. --global richiede l’ambito globale e necessita comunque dell’accesso autorizzato ai negozi. Usa --help per leggere l’utilizzo attuale.

Il codice di uscita 0 significa che la fase richiesta ha raggiunto un risultato accettato, inclusa un’anteprima riuscita. Il codice 2 significa che l’operazione richiesta è incompleta; controlla il rapporto. Il codice 1 indica un comando rifiutato o un errore. Non considerare l’uscita riuscita di un’anteprima come prova dell’avvenuta eliminazione.

Per eseguire la pulizia pianificata, salva la pianificazione e il fuso orario dell’attività, poi configura cron sul server per richiamare php modules/mprdatabasecleanup/bin/cleanup.php --employee=1 --shops=1 --scheduled ogni minuto. Sostituisci gli ID con quelli di un dipendente e di un negozio autorizzati. Usa un negozio per processo oppure aggiungi --global con tutti gli ID dei negozi in --shops per i record condivisi. Salvare una pianificazione non configura cron sul server.

Il processo avvia le attività attive per cui è giunta l’ora prevista e continua le esecuzioni salvate in passaggi limitati. --batches=N imposta il numero massimo di avanzamenti dell’esecuzione per attività pianificata a ogni chiamata del processo; il valore predefinito è uno. Per un’esecuzione globale, ogni politica effettiva dei negozi e la politica globale devono essere attive e prevedere l’esecuzione in quel momento nel rispettivo fuso orario salvato. Restano validi i permessi del dipendente, l’accesso ai negozi e l’interruttore generale di esecuzione. Le esecuzioni a rischio elevato e alto attendono un backup verificato e l’approvazione esplicita dell’esatto piano salvato. Apri l’esecuzione da Cronologia, verifica il backup e approvala; le successive chiamate del processo potranno continuarla.

Verifica e risolvi i problemi

Dopo una piccola esecuzione di prova, conferma Completato, leggi i motivi delle righe saltate/non riuscite e confronta i dati interessati con l’anteprima. Controlla Cronologia e, dove richiesto, lo stato del backup verificato. Il negozio non ha un widget di pulizia; lo spazio di lavoro visibile del modulo è nel back office.

Se un’azione non è disponibile, controlla il valore generale Attivo, Attivo dell’attività, i permessi del dipendente sull’attività, il permesso dell’operazione e il contesto del negozio selezionato. Se la verifica del backup fallisce, controlla OpenSSL, proprietario dello spazio privato, permessi delle directory e file della chiave. Se le impostazioni sono cambiate, crea una nuova anteprima. Se un altro processo è occupato, usa il flusso di nuovo tentativo/stato dell’esecuzione salvata invece di avviare esecuzioni concorrenti.

La pulizia opera sui dati del database. Inventario e misurazioni dei file non autorizzano l’eliminazione di immagini o file di personalizzazione. Non sostituire il flusso con gli obsoleti esempi grezzi DELETE ... LIMIT.

Disattiva o disinstalla

Imposta il valore generale Attivo su No nell’ambito effettivo per interrompere i lotti distruttivi. Annulla o controlla le esecuzioni in sospeso. Usa "Module Manager" per disattivare il modulo quando vuoi rendere inattivi tutti i suoi hook.

La disinstallazione rimuove la configurazione e il menu di amministrazione del modulo. Il suo metodo di disinstallazione non elimina la cronologia/schema di pulizia né la directory privata esterna degli archivi e la chiave. Conserva questi materiali di recupero fino al completamento dei ripristini necessari. La disinstallazione non ripristina i dati già eliminati.

Domande

Ancora nessuna domanda su questo modulo

Chiedi qualsiasi cosa su installazione, compatibilità o configurazione. Le risposte compaiono qui.

Problemi noti

14

Arretrati di manutenzione indicati come configurazione incompleta

RisoltoAggiornato:
Risolto nella versione: 1.1.25
Vecchi dati in attesa di pulizia potevano indurre il modulo a segnalare erroneamente una configurazione incompleta.

La conferma non identificava chiaramente l’attività

RisoltoAggiornato:
Risolto nella versione: 1.1.24
La conferma della pulizia mostrava un identificatore tecnico anziché il nome leggibile dell’attività.

Caratteri di escape nelle etichette delle attività

RisoltoAggiornato:
Risolto nella versione: 1.1.23
Le etichette delle attività di pulizia potevano mostrare punteggiatura codificata anziché testo leggibile.

Pannello delle attività di pulizia mancante

RisoltoAggiornato:
Risolto nella versione: 1.1.22
La pagina di pulizia poteva aprirsi senza i controlli delle attività.

Stato di configurazione rimasto obsoleto

RisoltoAggiornato:
Risolto nella versione: 1.1.22
Il banner di configurazione poteva continuare a mostrare le impostazioni precedenti dopo un salvataggio.

Etichette tradotte rimaste in inglese

RisoltoAggiornato:
Risolto nella versione: 1.1.21
Le etichette di amministrazione potevano restare in inglese nonostante le traduzioni disponibili.

La pulizia rimuove account ospite con carrelli attivi

RisoltoAggiornato:
Risolto nella versione: 1.1.20

La pulizia degli account ospite elimina le voci ospite più vecchie della soglia configurata, ma non verifica se quegli ospiti hanno contenuti del carrello non scaduti. Questo fa perdere potenziali dati per il recupero dei carrelli abbandonati.

Nota sulla risoluzione

Aggiunto un controllo dell'attività del carrello che esclude dalla pulizia gli account ospite con contenuti del carrello più recenti di 30 giorni.

Pulizia estesa a negozi fuori dalla selezione

RisoltoAggiornato:
Risolto nella versione: 1.1.20
Nelle installazioni multinegozio, la pulizia poteva rimuovere dati di negozi fuori dal contesto selezionato.

Dati degli ospiti attivi potevano essere rimossi

RisoltoAggiornato:
Risolto nella versione: 1.1.20
La pulizia degli ospiti poteva rimuovere record senza verificarne l’età o i riferimenti attivi a clienti, carrelli e visite.

La pulizia disattivata poteva ancora avviarsi

RisoltoAggiornato:
Risolto nella versione: 1.1.20
L’interruttore di attivazione non bloccava tutte le azioni di pulizia.

Pulizia di carrelli e ospiti incompleta

RisoltoAggiornato:
Risolto nella versione: 1.1.20
Le attività di pulizia di carrelli e ospiti potevano fallire anziché rimuovere i vecchi record idonei.

Il modulo non si caricava su PHP 7.1

RisoltoAggiornato:
Risolto nella versione: 1.1.18
I negozi con PHP 7.1 potevano non riuscire a caricare il modulo.

L’amministrazione poteva non aprirsi

RisoltoAggiornato:
Risolto nella versione: 1.1.17
L’amministrazione del modulo poteva interrompersi con un errore se mancava un componente di compatibilità richiesto.

Configurazione della pulizia non disponibile

RisoltoAggiornato:
Risolto nella versione: 1.1.15
Aprendo la configurazione non venivano mostrate impostazioni di pulizia utilizzabili.

Richieste funzionalità

8

Implementato

Pannello di pulizia con conteggio righe e gestione delle attività

Implementato
Dal pannello nel back office puoi visualizzare in anteprima il numero di righe da pulire. Puoi selezionare ed eseguire le attività singolarmente o insieme.

Attività di pulizia del database

Implementato
Rimuovi vecchi carrelli idonei, statistiche, prezzi specifici scaduti, log e dati inutilizzati dei visitatori.

Aggiornamenti con un clic

Implementato
Aggiorna il modulo dalla sua pagina di amministrazione.

Amministrazione multilingue

Implementato
Usa i testi dell'amministrazione in francese, tedesco, spagnolo, italiano e polacco.

Piani di pulizia verificati

Implementato
Visualizza l'anteprima di un piano di pulizia, verifica la copertura dei backup e approva il piano prima dell'esecuzione.

Backup cifrati e ripristino

Implementato
Esporta backup cifrati e visualizza l'anteprima del ripristino con controlli sui conflitti con i dati attuali.

Storico e rapporti di pulizia

Implementato
Consulta le esecuzioni di pulizia, riprendi il lavoro incompleto ed esporta i rapporti.

Regole per negozio ed esecuzione da riga di comando

Implementato
Imposta regole delle attività per i singoli negozi ed esegui i piani salvati dalla riga di comando.

Registro modifiche

v1.1.162026-08-14

  • AddedRestore database cleanup config page
  • Addedcomplete FR/DE/ES/IT/PL translations
Versioni precedenti

v1.3.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup

v1.2.02026-01-15

  • AddedPrestaShop 9 and Hummingbird theme compatibility
  • Addedcleanup for PS 9 Symfony message queue stale records and failed dispatch logs
  • Improveddry-run mode to display exact SQL row counts per cleanup category before execution
  • Fixedcleanup of expired cart rules incorrectly skipping valid multi-currency rules
  • Addedscheduled auto-cleanup mode with configurable frequency and post-run email summary

v1.1.02025-08-04

  • Addedcleanup for stale page-not-found log entries older than configurable number of days
  • Addedcleanup for connection log entries exceeding a configurable maximum row count
  • Improvedcleanup UI with progress indicator for large table operations
  • Fixedorphaned search stat entries not detected when an Elasticsearch module is installed

v1.0.02025-05-10

  • Initialrelease of Database Cleanup
  • InitialRemoves abandoned carts older than a configurable number of days
  • InitialRemoves expired cart rules that have passed their validity end date
  • InitialClears accumulated search query statistics from ps_search_word and related tables
  • InitialClears connection log and page-not-found log tables
  • InitialDry-run mode previews exactly what will be removed before any changes are committed

Demo

Prova il modulo completo

  • Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
  • Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.

Aprendo questa demo accetti i termini della demo e la politica sulla privacy.

Caricamento...
Torna su