Desinstalación de módulos
En esta sección se explica cómo desinstalar uno o más módulos. Durante la desinstalación, puede eliminar de forma opcional el código de los módulos, el esquema de la base de datos y los datos de la base de datos. Primero puede crear copias de seguridad para poder recuperar los datos más adelante.
Solo debe desinstalar un módulo si está seguro de que no lo utilizará. En lugar de desinstalar un módulo, puede deshabilitarlo como se describe en Habilitar o deshabilitar módulos.
composer.json
. Si desinstala un módulo que está no definido en el archivo composer.json
, este comando desinstala el módulo sin comprobar las dependencias. Sin embargo, este comando no quita el código del módulo del sistema de archivos. Debe utilizar las herramientas del sistema de archivos para quitar el código del módulo (por ejemplo, rm -rf <path to module>
). Como alternativa, puede deshabilitar módulos que no sean de Compositor.Uso de comandos:
bin/magento module:uninstall [--backup-code] [--backup-media] [--backup-db] [-r|--remove-data] [-c|--clear-static-content] \
{ModuleName} ... {ModuleName}
Donde {ModuleName}
especifica el nombre del módulo en formato <VendorName>_<ModuleName>
. Por ejemplo, el nombre del módulo Cliente es Magento_Customer
. Para obtener una lista de nombres de módulos, escriba magento module:status
El comando de desinstalación del módulo realiza las siguientes tareas:
-
Comprueba que los módulos especificados existen en la base de código y que son paquetes instalados por Composer.
Este comando funciona solamente con módulos definidos como paquetes de composición.
-
Comprueba las dependencias con otros módulos y finaliza el comando si hay dependencias que no se cumplen.
Para solucionarlo, puede desinstalar todos los módulos al mismo tiempo o puede desinstalar primero los módulos dependientes.
-
Solicita confirmación para continuar.
-
Pone el almacén en modo de mantenimiento.
-
Procesa las siguientes opciones de comando.
table 0-row-3 1-row-3 2-row-3 3-row-3 Opción Significado Nombre y ubicación del archivo de copia de seguridad --backup-code
Realiza una copia de seguridad del sistema de archivos (excluyendo los directorios var
ypub/static
).var/backups/<timestamp>_filesystem.tgz
--backup-media
Realiza una copia de seguridad del directorio pub/media. var/backups/<timestamp>_filesystem_media.tgz
--backup-db
Copia de seguridad de la base de datos. var/backups/<timestamp>_db.gz
-
Si se especifica
--remove-data
, quite el esquema de base de datos y los datos definidos en las clasesUninstall
del módulo.Para que se desinstale cada módulo especificado, invoca el método
uninstall
en su claseUninstall
. Esta clase debe heredar de Magento\Framework\Setup\UninstallInterface. -
Quita los módulos especificados de la tabla de base de datos
setup_module
. -
Quita los módulos especificados de la lista de módulos de la configuración de implementación.
-
Quita el código de la base de código mediante
composer remove
.note note NOTE Al desinstalar un módulo always se ejecuta composer remove
. La opción--remove-data
quita los datos de la base de datos y el esquema definidos por la claseUninstall
del módulo. -
Limpia la caché.
-
Actualiza las clases generadas.
-
Si se especifica
--clear-static-content
, limpia los archivos de vista estática generados. -
Elimina el almacén del modo de mantenimiento.
Por ejemplo, si intenta desinstalar un módulo del que depende otro módulo, aparecerá el siguiente mensaje:
magento module:uninstall Magento_SampleMinimal
Cannot uninstall module 'Magento_SampleMinimal' because the following module(s) depend on it:
Magento_SampleModifyContent
Una alternativa es desinstalar ambos módulos después de hacer una copia de seguridad del sistema de archivos de módulos, pub/media
archivos y tablas de base de datos, pero no quitando el esquema o los datos de base de datos del módulo:
bin/magento module:uninstall Magento_SampleMinimal Magento_SampleModifyContent --backup-code --backup-media --backup-db
Se muestran mensajes similares a los siguientes:
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
Revertir los archivos de sistema de archivos, base de datos o medios
Para restaurar el código base al estado en el que realizó la copia de seguridad, utilice el siguiente comando:
bin/magento setup:rollback [-c|--code-file="<filename>"] [-m|--media-file="<filename>"] [-d|--db-file="<filename>"]
Donde <filename>
es el nombre del archivo de copia de seguridad en el directorio <app_root>/var/backups
. Para mostrar una lista de archivos de copia de seguridad, escriba magento info:backups:list
--media-file
elimina los recursos multimedia del directorio pub/media
antes de restaurarlos a partir del archivo de reversión especificado. Asegúrese de no haber cambiado el sistema de archivos o la base de datos que desea conservar antes de utilizar este comando.magento info:backups:list
Este comando realiza las tareas siguientes:
-
Pone el almacén en modo de mantenimiento.
-
Comprueba el nombre del archivo de copia de seguridad.
-
Si especifica un archivo de reversión de código:
a. Comprueba que las ubicaciones de destino de reversión pueden escribirse (tenga en cuenta que las carpetas
pub/static
yvar
se omiten).b. Elimina todos los archivos y directorios del directorio de instalación de la aplicación.
c. Extrae el archivo de almacenamiento a las ubicaciones de destino.
-
Si especifica un archivo de reversión de base de datos:
a. Borra toda la base de datos.
b. Restaura la base de datos mediante la copia de seguridad de la base de datos.
-
Si especifica un archivo de reversión de medios:
a. Comprueba que se puede escribir en las ubicaciones de destino de reversión.
b. Elimina todos los archivos y directorios de
pub/media
c. Extrae el archivo de almacenamiento a las ubicaciones de destino.
-
Elimina el almacén del modo de mantenimiento.
Por ejemplo, para restaurar una copia de seguridad de un código (es decir, un sistema de archivos), introduzca los siguientes comandos en el orden mostrado:
-
Mostrar una lista de copias de seguridad:
code language-bash magento info:backups:list
-
Restaurar una copia de seguridad de archivos con el nombre
1433876616_filesystem.tgz
:code language-bash magento setup:rollback --code-file="1433876616_filesystem.tgz"
Se muestran mensajes similares a los siguientes:
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
sin cambiar los directorios, es posible que tenga que escribir cd pwd
.