Disinstalla moduli
Questa sezione illustra come disinstallare uno o più moduli. Durante la disinstallazione, è possibile rimuovere facoltativamente il codice dei moduli, lo schema del database e i dati del database. È possibile creare prima i backup in modo da poter recuperare i dati in un secondo momento.
È consigliabile disinstallare un modulo solo se si è certi di non utilizzarlo. Anziché disinstallare un modulo, è possibile disattivarlo come descritto in Abilitare o disabilitare i moduli.
composer.json
. Se si disinstalla un modulo not definito nel file composer.json
, il modulo verrà disinstallato senza verificare le dipendenze. Con questo comando not il codice del modulo viene rimosso dal file system. Per rimuovere il codice del modulo è necessario utilizzare gli strumenti del file system (ad esempio, rm -rf <path to module>
). In alternativa, puoi disabilitare moduli non compositori.Utilizzo comando:
bin/magento module:uninstall [--backup-code] [--backup-media] [--backup-db] [-r|--remove-data] [-c|--clear-static-content] \
{ModuleName} ... {ModuleName}
Dove {ModuleName}
specifica il nome del modulo nel formato <VendorName>_<ModuleName>
. Ad esempio, il nome del modulo del cliente è Magento_Customer
. Per ottenere un elenco dei nomi dei moduli, immettere magento module:status
Il comando di disinstallazione del modulo esegue le operazioni seguenti:
-
Verifica che i moduli specificati siano presenti nella base di codice e siano pacchetti installati da Composer.
Questo comando funziona only con moduli definiti come pacchetti Composer.
-
Controlla le dipendenze con altri moduli e termina il comando se sono presenti dipendenze non soddisfatte.
Per ovviare a questo problema, è possibile disinstallare tutti i moduli contemporaneamente oppure disinstallare prima i moduli dipendenti.
-
Richiede conferma per continuare.
-
Mette l'archivio in modalità di manutenzione.
-
Elabora le seguenti opzioni di comando.
table 0-row-3 1-row-3 2-row-3 3-row-3 Opzione Significato Nome e percorso del file di backup --backup-code
Esegue il backup del file system (escluse le directory var
epub/static
).var/backups/<timestamp>_filesystem.tgz
--backup-media
Esegue il backup della directory pub/media. var/backups/<timestamp>_filesystem_media.tgz
--backup-db
Backup del database. var/backups/<timestamp>_db.gz
-
Se si specifica
--remove-data
, rimuovere lo schema di database e i dati definiti nelle classiUninstall
del modulo.Per ogni modulo specificato da disinstallare, richiama il metodo
uninstall
nella relativa classeUninstall
. Questa classe deve ereditare da Magento\Framework\Setup\UninstallInterface. -
Rimuove i moduli specificati dalla tabella del database
setup_module
. -
Rimuove i moduli specificati dall'elenco dei moduli nella configurazione di distribuzione.
-
Rimuove il codice dalla base di codice utilizzando
composer remove
.note note NOTE Disinstallare un modulo always esegue composer remove
. L'opzione--remove-data
rimuove i dati del database e lo schema definiti dalla classeUninstall
del modulo. -
Pulisce la cache.
-
Aggiorna le classi generate.
-
Se si specifica
--clear-static-content
, pulisce file di visualizzazione statica generati. -
Porta il negozio fuori dalla modalità di manutenzione.
Ad esempio, se tenti di disinstallare un modulo da cui dipende un altro modulo, viene visualizzato il seguente messaggio:
magento module:uninstall Magento_SampleMinimal
Cannot uninstall module 'Magento_SampleMinimal' because the following module(s) depend on it:
Magento_SampleModifyContent
Un'alternativa consiste nel disinstallare entrambi i moduli dopo aver eseguito il backup del file system del modulo, dei file pub/media
e delle tabelle di database, ma non rimuovendo lo schema o i dati di database del modulo:
bin/magento module:uninstall Magento_SampleMinimal Magento_SampleModifyContent --backup-code --backup-media --backup-db
Messaggi simili alla seguente visualizzazione:
You are about to remove code and/or database tables. Are you sure?[y/N]y
Enabling maintenance mode
Code backup is starting...
Code backup filename: 1435261098_filesystem_code.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1435261098_filesystem_code.tgz
[SUCCESS]: Code backup completed successfully.
Media backup is starting...
Media backup filename: 1435261098_filesystem_media.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Media backup path: /var/www/html/magento2/var/backups/1435261098_filesystem_media.tgz
[SUCCESS]: Media backup completed successfully.
DB backup is starting...
DB backup filename: 1435261098_db.gz (The archive can be uncompressed with 7-Zip on Windows systems)
DB backup path: /var/www/html/magento2/var/backups/1435261098_db.gz
[SUCCESS]: DB backup completed successfully.
You are about to remove a module(s) that might have database data. Remove the database data manually after uninstalling, if desired.
Removing Magento_SampleMinimal, Magento_SampleModifyContent from module registry in database
Removing Magento_SampleMinimal, Magento_SampleModifyContent from module list in deployment configuration
Removing code from Magento codebase:
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing magento/sample-module-modifycontent (1.0.0)
Removing Magento/SampleModifycontent
- Removing magento/sample-module-minimal (1.0.0)
Removing Magento/SampleMinimal
Writing lock file
Generating autoload files
Cache cleared successfully.
Generated classes cleared successfully.
Alert: Generated static view files were not cleared. You can clear them using the --clear-static-content option. Failure to clear static view files might cause display issues in the Admin and storefront.
Disabling maintenance mode
Eseguire il rollback dei file system, database o file multimediali
Per ripristinare la base di codice nello stato in cui è stato eseguito il backup, utilizzare il comando seguente:
bin/magento setup:rollback [-c|--code-file="<filename>"] [-m|--media-file="<filename>"] [-d|--db-file="<filename>"]
Dove <filename>
è il nome del file di backup nella directory <app_root>/var/backups
. Per visualizzare un elenco di file di backup, immettere magento info:backups:list
--media-file
elimina le risorse multimediali nella directory pub/media
prima di eseguire il ripristino dal file di rollback specificato. Prima di utilizzare questo comando, assicurarsi di non aver modificato il file system o il database che si desidera mantenere.magento info:backups:list
Questo comando esegue le seguenti attività:
-
Mette l'archivio in modalità di manutenzione.
-
Verifica il nome del file di backup.
-
Se si specifica un file di rollback del codice:
a. Verifica che i percorsi di destinazione del rollback siano scrivibili (si noti che le cartelle
pub/static
evar
vengono ignorate).b. Elimina tutti i file e le directory nella directory di installazione dell'applicazione.
c. Estrae il file di archivio nei percorsi di destinazione.
-
Se si specifica un file di rollback del database:
a. Elimina l’intero database.
b. Ripristina il database utilizzando il backup del database.
-
Se si specifica un file di rollback multimediale:
a. Verifica che le posizioni di destinazione del rollback siano scrivibili.
b. Elimina tutti i file e le directory in
pub/media
c. Estrae il file di archivio nei percorsi di destinazione.
-
Porta il negozio fuori dalla modalità di manutenzione.
Ad esempio, per ripristinare un backup del codice (ovvero del file system), immettere i seguenti comandi nell'ordine indicato:
-
Visualizza un elenco di backup:
code language-bash magento info:backups:list
-
Ripristinare un backup di file denominato
1433876616_filesystem.tgz
:code language-bash magento setup:rollback --code-file="1433876616_filesystem.tgz"
Messaggi simili alla seguente visualizzazione:
code language-none Enabling maintenance mode Code rollback is starting ... Code rollback filename: 1433876616_filesystem.tgz Code rollback file path: /var/www/html/magento2/var/backups/1433876616_filesystem.tgz [SUCCESS]: Code rollback has completed successfully. Disabling maintenance mode
magento
senza modificare le directory, potrebbe essere necessario immettere cd pwd
.