Baixar o Upgrade Compatibility Tool
Para começar a usar o Upgrade Compatibility Tool em uma interface de linha de comando, baixe-o executando o seguinte comando:
composer create-project magento/upgrade-compatibility-tool uct --repository https://repo.magento.com
Talvez seja necessário conceder permissões executáveis à ferramenta com o comando chmod
:
chmod +x ./uct/bin/uct
O Upgrade Compatibility Tool em uma interface de linha de comando
O Upgrade Compatibility Tool é uma ferramenta que verifica uma instância personalizada do Adobe Commerce em relação a uma versão específica, analisando todos os módulos instalados nela. Ele retorna uma lista de problemas críticos, erros e avisos que devem ser abordados antes da atualização para a versão mais recente do Adobe Commerce.
Veja este tutorial em vídeo (06:02) para saber mais sobre o Upgrade Compatibility Tool.
Comandos disponíveis para Upgrade Compatibility Tool em uma interface de linha de comando:
upgrade:check
dbschema:diff
core:code:changes
refactor
graphql:compare
list
help
help
opções disponíveis para o Upgrade Compatibility Tool. Esse comando pode ser executado, bem como uma opção com os comandos anteriores.Usar o comando upgrade:check
O comando upgrade:check
verifica as alterações do código principal daquela instância específica do Adobe Commerce e todas as alterações do código personalizado instaladas nela.
O comando upgrade:check
é o principal comando para executar a ferramenta:
bin/uct upgrade:check <dir>
Onde o valor <dir>
é o diretório onde a instância do Adobe Commerce está localizada.
Opções disponíveis para o comando upgrade:check
:
upgrade:check
- —help: retorna todas as opções disponíveis.
- —current-version: Versão atual do Adobe Commerce. Esse parâmetro é obrigatório e deve ser sempre usado.
- —min-issue-level: você pode filtrar problemas de acordo com o nível mínimo de problema (o valor padrão é AVISO).
- —ignore-current-version-compatibility-issues (ou -i): se você não quiser incluir problemas críticos, erros e avisos da versão atual no seu relatório.
- —coming-version (ou -c): aponta para uma versão específica do Adobe Commerce. O último disponível será usado se omitido.
O Upgrade Compatibility Tool permite executar o comando upgrade:check
com uma opção --ignore-current-version-compatibility-issues
. Use esta opção somente quando quiser obter novos problemas introduzidos com a atualização da sua versão atual para a versão de destino em seu relatório Upgrade Compatibility Tool:
bin/uct upgrade:check --ignore-current-version-compatibility-issues <dir>
Adicionando a opção --coming-version
Você pode comparar sua instalação atual do Adobe Commerce com qualquer versão do Adobe Commerce >=2.3
usando a opção --coming-version
.
Você deve fornecer a versão como um parâmetro ao executar o comando upgrade:check
:
bin/uct upgrade:check <dir> -c 2.4.3
Onde -c, --coming-version[=COMING-VERSION]
refere-se à versão de destino do Adobe Commerce.
Existem algumas limitações ao executar o --coming-version
:
- Esse parâmetro se refere a qualquer tag que identifique uma versão específica do Adobe Commerce.
- É um requisito fornecer este explicitamente; fornecer apenas o valor dele não funciona.
- Forneça a versão da marca sem aspas (simples ou duplas):
'2.4.1-develop'. - Você NÃO deve fornecer versões mais antigas do que a versão instalada no momento, nem mais antigas do que a 2.3, que é a mais antiga com suporte no momento.
Usar o comando dbschema:diff
Você pode recuperar a diferença entre o esquema do banco de dados de duas versões do Adobe Commerce.
bin/uct dbschema:diff <current-version> <target-version>
Onde os argumentos são os seguintes:
<current-version>
: qualquer versão do Adobe Commerce para comparação.<target-version>
: também qualquer versão do Adobe Commerce para comparação.
Exemplo de execução:
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 o comando core:code:changes
É possível comparar sua instalação atual do Adobe Commerce para validar se o código principal do Adobe Commerce foi modificado para implementar uma personalização. Este comando mostra apenas uma lista das modificações principais:
bin/uct core:code:changes <dir> <vanilla dir>
Onde os argumentos são os seguintes:
<dir>
: diretório de instalação do Adobe Commerce.<vanilla dir>
: diretório de instalação do Adobe Commerce Vanilla.
Opções disponíveis para o comando core:code:changes
:
core:code:changes
--help
: Retorna todas as opções de --help
disponíveis.Instalação do Vanilla
Uma instalação vanilla é uma instalação limpa de uma marca ou ramificação de versão especificada para uma versão de lançamento específica.
O comando bin/uct core:code:changes
verifica se há uma instância padrão no sistema. Se esta for a primeira vez usando uma instalação baunilha, uma pergunta interativa de linha de comando solicitará que você baixe o projeto baunilha do repositório do Adobe Commerce (https://repo.magento.com/
).
Você pode executar um comando Upgrade Compatibility Tool com a opção --vanilla-dir
para especificar o diretório de instalação do Adobe Commerce Vanilla.
Consulte o tópico Implantar instância básica para obter mais informações.
Usar o comando refactor
O Upgrade Compatibility Tool pode corrigir automaticamente um conjunto reduzido de problemas:
- Funções que podiam ser usadas sem passar um argumento, mas com esse uso agora se tornaram obsoletas.
- Uso de
$this
em modelos de Magento. - Uso da palavra-chave PHP
final
em métodos privados.
Para isso, execute o comando refactor
:
bin/uct refactor <dir>
Onde o valor <dir>
é o diretório onde a instância do Adobe Commerce está localizada.
Opções disponíveis para o comando refactor
:
refactor
--help
: Retorna todas as opções de --help
disponíveis.Usar o comando graphql:compare
Este comando fornece a opção ao Upgrade Compatibility Tool para introduzir dois endpoints do GraphQL e comparar seus esquemas em busca de alterações perigosas entre eles:
bin/uct graphql:compare <schema1> <schema2>
Onde os argumentos são os seguintes:
<schema1>
: URL do ponto de extremidade da instalação existente.<schema2>
: URL do ponto de extremidade para a instalação baunilha.
Opções disponíveis para o comando graphql:compare
:
graphql:compare
--help
: Retorna todas as opções de --help
disponíveis.Usar o comando list
Para retornar uma lista dos Upgrade Compatibility Tool comandos disponíveis, execute:
bin/uct list
Usar o comando help
Para ver as opções gerais e a ajuda do comando Upgrade Compatibility Tool, execute:
bin/uct --help
Que retorna uma lista com todas as opções help
disponíveis para Upgrade Compatibility Tool em uma interface de linha de comando:
- --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
É possível executar --help
como uma opção ao executar um comando específico. Retorna --help
opções para o comando especificado.
Exemplo do comando upgrade:check
com a opção --help
:
bin/uct upgrade:check --help
Isso retorna opções específicas que podem ser executadas para o 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 as práticas recomendadas do Adobe Commerce
- Evite ter dois módulos com o mesmo nome.
- Siga os padrões de codificação do Adobe Commerce.
- Práticas recomendadas do Guia de atualização do Adobe Commerce 2.4.
- Execute o Upgrade Compatibility Tool a partir do Site-Wide Analysis Tool para projetos do Adobe Commerce na infraestrutura de nuvem.
Otimizar os resultados
O Upgrade Compatibility Tool fornece um relatório contendo resultados com todos os problemas identificados em seu projeto por padrão. Você pode otimizar os resultados para se concentrar nesses problemas que você deve corrigir para concluir a atualização:
- Use a opção
--ignore-current-version-compatibility-issues
somente quando quiser obter novos problemas introduzidos com a atualização da sua versão atual para a versão de destino em seu relatório Upgrade Compatibility Tool. - Adicionando a opção
--min-issue-level
, esta configuração permite definir o nível mínimo de problema, para ajudar a priorizar apenas os problemas mais importantes com sua atualização. - O Upgrade Compatibility Tool requer pelo menos 2 GB de RAM para ser executado. Essa configuração é recomendada para evitar problemas devido a uma limitação de memória baixa. O Upgrade Compatibility Tool exibe uma pergunta se você executar o comando
upgrade:check
com uma configuração baixa dememory_limit
.