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.

NOTE
Questo comando verifica che solo le dipendenze dichiarate nel file 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:

  1. 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.

  2. 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.

  3. Richiede conferma per continuare.

  4. Mette l'archivio in modalità di manutenzione.

  5. 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 e pub/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
  6. Se si specifica --remove-data, rimuovere lo schema di database e i dati definiti nelle classi Uninstall del modulo.

    Per ogni modulo specificato da disinstallare, richiama il metodo uninstall nella relativa classe Uninstall. Questa classe deve ereditare da Magento\Framework\Setup\UninstallInterface.

  7. Rimuove i moduli specificati dalla tabella del database setup_module.

  8. Rimuove i moduli specificati dall'elenco dei moduli nella configurazione di distribuzione.

  9. 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 classe Uninstall del modulo.
  10. Pulisce la cache.

  11. Aggiorna le classi generate.

  12. Se si specifica --clear-static-content, pulisce file di visualizzazione statica generati.

  13. 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
NOTE
Se si tenta di disinstallare un modulo con una dipendenza da un altro modulo, vengono visualizzati degli errori. In tal caso, non è possibile disinstallare un modulo, ma è necessario disinstallare entrambi.

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

WARNING
Questo comando elimina i file specificati o il database prima di ripristinarli. Ad esempio, l'opzione --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.
NOTE
Per visualizzare un elenco dei file di backup disponibili, immettere magento info:backups:list

Questo comando esegue le seguenti attività:

  1. Mette l'archivio in modalità di manutenzione.

  2. Verifica il nome del file di backup.

  3. 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 e var 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.

  4. Se si specifica un file di rollback del database:

    a. Elimina l’intero database.

    b. Ripristina il database utilizzando il backup del database.

  5. 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.

  6. 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
    
NOTE
Per eseguire nuovamente il comando magento senza modificare le directory, potrebbe essere necessario immettere cd pwd.
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995