Pulizia del database: configurazione e aiuto
Avvio rapido
- Carica e installa lo ZIP di mprdatabasecleanup tramite "Module Manager", poi clicca su "Configure".
- Scegli il contesto del negozio desiderato e controlla i permessi dei dipendenti e lo spazio privato per i backup descritti sotto.
- In Configurazione, controlla Attivo e Conservazione archivi in ore, poi apri la politica della prima attività di pulizia.
- Apri Area di pulizia, seleziona un’attività in Attività e clicca su Anteprima pulizia.
- Controlla ID esecuzione e Impronta del piano salvati, negozi interessati, conteggi dei candidati, protezioni, stime e conflitti.
- 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.
- 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
La conferma non identificava chiaramente l’attività
Caratteri di escape nelle etichette delle attività
Pannello delle attività di pulizia mancante
Stato di configurazione rimasto obsoleto
Etichette tradotte rimaste in inglese
La pulizia rimuove account ospite con carrelli attivi
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
Dati degli ospiti attivi potevano essere rimossi
La pulizia disattivata poteva ancora avviarsi
Pulizia di carrelli e ospiti incompleta
Il modulo non si caricava su PHP 7.1
L’amministrazione poteva non aprirsi
Configurazione della pulizia non disponibile
Richieste funzionalità
8
Implementato
Pannello di pulizia con conteggio righe e gestione delle attività
Attività di pulizia del database
Aggiornamenti con un clic
Amministrazione multilingue
Piani di pulizia verificati
Backup cifrati e ripristino
Storico e rapporti di pulizia
Regole per negozio ed esecuzione da 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.