Descargar Upgrade Compatibility Tool
Para comenzar con Upgrade Compatibility Tool en una interfaz de línea de comandos, descárguela ejecutando el siguiente comando:
composer create-project magento/upgrade-compatibility-tool uct --repository https://repo.magento.com
Es posible que deba conceder a la herramienta permisos de ejecutable con el comando chmod
:
chmod +x ./uct/bin/uct
Upgrade Compatibility Tool en una interfaz de línea de comandos
Upgrade Compatibility Tool es una herramienta que compara una instancia personalizada de Adobe Commerce con una versión específica analizando todos los módulos instalados en ella. Devuelve una lista de problemas, errores y advertencias críticos que deben solucionarse antes de actualizar a la versión más reciente de Adobe Commerce.
Vea este tutorial en vídeo (06:02) para obtener más información acerca de Upgrade Compatibility Tool.
Comandos disponibles para Upgrade Compatibility Tool en una interfaz de línea de comandos:
upgrade:check
dbschema:diff
core:code:changes
refactor
graphql:compare
list
help
help
disponibles para Upgrade Compatibility Tool. Este comando se puede ejecutar, así como una opción con los comandos anteriores.Usar el comando upgrade:check
El comando upgrade:check
comprueba los cambios de código principal de esa instancia de Adobe Commerce específica y todos los cambios de código personalizado instalados en ella.
El comando upgrade:check
es el comando principal para ejecutar la herramienta:
bin/uct upgrade:check <dir>
Donde el valor <dir>
es el directorio donde se encuentra la instancia de Adobe Commerce.
Opciones disponibles para el comando upgrade:check
:
upgrade:check
- —help: Devuelve todas las opciones disponibles.
- —current-version: Versión actual de Adobe Commerce. Este parámetro es obligatorio y siempre debe usarse.
- —min-issue-level: puede filtrar problemas según el nivel mínimo de problemas (el valor predeterminado es ADVERTENCIA).
- —ignore-current-version-compatibility-issues (o -i): si no desea incluir en su informe los problemas, errores y advertencias críticos de la versión actual.
- —coming-version (o -c): Dirija una versión de Adobe Commerce específica. Si se omite, se utilizará el último disponible.
El Upgrade Compatibility Tool le permite ejecutar el comando upgrade:check
con una opción --ignore-current-version-compatibility-issues
. Utilice esta opción cuando solo desee obtener nuevos problemas que se introduzcan con la actualización de la versión actual a la versión de destino en el informe Upgrade Compatibility Tool:
bin/uct upgrade:check --ignore-current-version-compatibility-issues <dir>
Agregando la opción --coming-version
Puede comparar su instalación actual de Adobe Commerce con cualquier versión de Adobe Commerce >=2.3
mediante la opción --coming-version
.
Debe proporcionar la versión como parámetro al ejecutar el comando upgrade:check
:
bin/uct upgrade:check <dir> -c 2.4.3
Donde -c, --coming-version[=COMING-VERSION]
hace referencia a la versión de destino de Adobe Commerce.
Existen algunas limitaciones al ejecutar --coming-version
:
- Este parámetro hace referencia a cualquier etiqueta que identifique una versión específica de Adobe Commerce.
- Es un requisito proporcionar este explícitamente; proporcionar solo el valor del mismo no funciona.
- Proporcione la versión de la etiqueta sin comillas (ni simples ni dobles):
'2.4.1-development'. - NO debe proporcionar versiones anteriores a la instalada, ni anteriores a la 2.3, que es la más antigua admitida en este momento.
Usar el comando dbschema:diff
Puede recuperar la diferencia entre el esquema de la base de datos de dos versiones de Adobe Commerce.
bin/uct dbschema:diff <current-version> <target-version>
Donde los argumentos son los siguientes:
<current-version>
: cualquier versión de Adobe Commerce para comparar.<target-version>
: también cualquier versión de Adobe Commerce para comparar.
Ejemplo de ejecución:
bin/uct dbschema:diff 2.4.3 2.4.3-p3
DB schema differences between versions 2.4.3 and 2.4.3-p3:
Table klarna_payments_quote constraint QUOTE_ID_KLARNA_PAYMENTS_QUOTE_QUOTE_ID_QUOTE_ENTITY_ID is present only in version 2.4.3-p3
Table klarna_payments_quote index KLARNA_PAYMENTS_QUOTE_SESSION_ID is present only in version 2.4.3-p3
Table customer_entity column session_cutoff is present only in version 2.4.3-p3
Table customer_visitor column session_id length value is different. 2.4.3: "64", 2.4.3-p3: "1"
Table customer_visitor column session_id comment value is different. 2.4.3: "Session ID", 2.4.3-p3: "Deprecated: Session ID value no longer used"
Table customer_visitor column created_at is present only in version 2.4.3-p3
Table oauth_consumer column secret length value is different. 2.4.3: "32", 2.4.3-p3: "128"
Table oauth_token column secret length value is different. 2.4.3: "32", 2.4.3-p3: "128"
Table admin_user_session column session_id nullable value is different. 2.4.3: "false", 2.4.3-p3: "true"
Table admin_user_session column session_id length value is different. 2.4.3: "128", 2.4.3-p3: "1"
Table admin_user_session column session_id comment value is different. 2.4.3: "Session ID value", 2.4.3-p3: "Deprecated: Session ID value no longer used"
Total detected differences between version 2.4.3 and 2.4.3-p3: 11
Usar el comando core:code:changes
Puede comparar la instalación actual de Adobe Commerce para comprobar si el código principal de Adobe Commerce se ha modificado para implementar una personalización. Este comando solo muestra una lista de las modificaciones principales:
bin/uct core:code:changes <dir> <vanilla dir>
Donde los argumentos son los siguientes:
<dir>
: directorio de instalación de Adobe Commerce.<vanilla dir>
: directorio de instalación de Adobe Commerce vanilla.
Opciones disponibles para el comando core:code:changes
:
core:code:changes
--help
: devuelve todas las opciones de --help
disponibles.Instalación de vainilla
Una instalación de vanilla es una instalación limpia de una rama o etiqueta de versión especificada para una versión específica.
El comando bin/uct core:code:changes
comprueba si hay una instancia de vainilla en el sistema. Si esta es la primera vez que utiliza una instalación predeterminada, una pregunta interactiva de la línea de comandos le pedirá que descargue el proyecto básico del repositorio de Adobe Commerce (https://repo.magento.com/
).
Puede ejecutar un comando Upgrade Compatibility Tool con la opción --vanilla-dir
para especificar el directorio de instalación de Adobe Commerce vanilla.
Consulte el tema Implementar instancia de vainilla para obtener más información.
Usar el comando refactor
Upgrade Compatibility Tool tiene la capacidad de corregir automáticamente un conjunto reducido de problemas:
- Las funciones que se permitían utilizar sin pasar un argumento, pero con ese uso ahora están en desuso.
- Uso de
$this
en plantillas de Magento. - Uso de la palabra clave PHP
final
en métodos privados.
Para ello, ejecute el comando refactor
:
bin/uct refactor <dir>
Donde el valor <dir>
es el directorio donde se encuentra la instancia de Adobe Commerce.
Opciones disponibles para el comando refactor
:
refactor
--help
: devuelve todas las opciones de --help
disponibles.Usar el comando graphql:compare
Este comando proporciona a Upgrade Compatibility Tool la opción de inspeccionar dos extremos de GraphQL y comparar sus esquemas en busca de cambios importantes y peligrosos entre ellos:
bin/uct graphql:compare <schema1> <schema2>
Donde los argumentos son los siguientes:
<schema1>
: dirección URL de extremo para la instalación existente.<schema2>
: dirección URL de extremo para la instalación predeterminada.
Opciones disponibles para el comando graphql:compare
:
graphql:compare
--help
: devuelve todas las opciones de --help
disponibles.Usar el comando list
Para devolver una lista de los Upgrade Compatibility Tool comandos disponibles, ejecute:
bin/uct list
Usar el comando help
Para ver las opciones generales y la ayuda del comando Upgrade Compatibility Tool, ejecute:
bin/uct --help
Devuelve una lista con todas las opciones de help
disponibles para Upgrade Compatibility Tool en una interfaz de línea de comandos:
- --raw To output raw command list
- --format=FORMAT The output format (txt, xml, json, or md) [default: "txt"]
- --short To skip describing commands' arguments
- -h, --help Display help for the given command. When no command is given display help for the list command
- -q, --quiet Do not output any message
- -V, --version Display this application version
- --ansi|--no-ansi Force (or disable --no-ansi) ANSI output
- -n, --no-interaction Do not ask any interactive question
- -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Es posible ejecutar --help
como opción al ejecutar un comando específico. Devuelve --help
opciones para el comando especificado.
Ejemplo del comando upgrade:check
con la opción --help
:
bin/uct upgrade:check --help
Esto devuelve opciones específicas que se pueden ejecutar para el comando upgrade:check
:
- -a, --current-version[=CURRENT-VERSION]: Current Adobe Commerce version, version of the Adobe Commerce installation will be used if omitted.
- -c, --coming-version[=COMING-VERSION]: Target Adobe Commerce version, latest released version of Adobe Commerce will be used if omitted. Provides a list of all available Adobe Commerce versions.
- --json-output-path[=JSON-OUTPUT-PATH]: Path of the file where the output will be exported in json format.
- --html-output-path[=HTML-OUTPUT-PATH]: Path of the file where the output will be exported in HTML format.
- --min-issue-level[=MIN-ISSUE-LEVEL] Minimal issue level you want to see in the report (warning, error or critical). [default: "warning"]
- -i, --ignore-current-version-compatibility-issues Ignore common issues for current and coming version
- --context=CONTEXT: Execution context. This option is for integration purposes and does not affect the execution result.
- -h, --help: Display help for that specific command. If no command is provided, `list` command is the default result.
- -q, --quiet: Do not output any messages while executing the command.
- -v, --version: Display application version.
- --ansi, --no-ansi: Enable ANSI output.
- -n, --no-interaction: Do not ask any interactive question while executing the command.
- -v, --vv, --vvv, --verbose: Increase verbosity of output communications. 1 for normal output, 2 for verbose output, and 3 for DEBUG output.
Seguir las prácticas recomendadas de Adobe Commerce
- Evite tener dos módulos con el mismo nombre.
- Siga los estándares de codificación de Adobe Commerce.
- Prácticas recomendadas de Adobe Commerce 2.4 Guía de actualización.
- Ejecutar Upgrade Compatibility Tool desde Site-Wide Analysis Tool para Adobe Commerce en proyectos de infraestructura en la nube.
Optimización de los resultados
El Upgrade Compatibility Tool proporciona un informe que contiene los resultados con todos los problemas identificados en el proyecto de forma predeterminada. Puede optimizar los resultados para centrarse en los problemas que debe corregir para completar la actualización:
- Utilice la opción
--ignore-current-version-compatibility-issues
cuando solo desee obtener nuevos problemas que se introduzcan con la actualización de su versión actual a la versión de destino en su informe Upgrade Compatibility Tool. - Si agrega la opción
--min-issue-level
, esta configuración le permite establecer el nivel mínimo de problema para ayudar a priorizar solamente los problemas más importantes con la actualización. - Upgrade Compatibility Tool requiere al menos 2 GB de RAM para ejecutarse. Se recomienda esta configuración para evitar problemas debido a una limitación de memoria baja. Upgrade Compatibility Tool muestra una pregunta si ejecuta el comando
upgrade:check
con una configuración dememory_limit
baja.