Scarica Upgrade Compatibility Tool
Per iniziare a utilizzare Upgrade Compatibility Tool in un'interfaccia della riga di comando, scaricarlo eseguendo il comando seguente:
composer create-project magento/upgrade-compatibility-tool uct --repository https://repo.magento.com
Potrebbe essere necessario assegnare allo strumento le autorizzazioni eseguibili con il comando chmod
:
chmod +x ./uct/bin/uct
Upgrade Compatibility Tool in un'interfaccia della riga di comando
Upgrade Compatibility Tool è uno strumento che controlla un'istanza personalizzata di Adobe Commerce rispetto a una versione specifica analizzando tutti i moduli in essa installati. Restituisce un elenco di problemi critici, errori e avvisi che devono essere risolti prima dell’aggiornamento alla versione più recente di Adobe Commerce.
Per ulteriori informazioni su Upgrade Compatibility Tool, consulta questa esercitazione video (06:02).
Comandi disponibili per Upgrade Compatibility Tool in un'interfaccia della riga di comando:
upgrade:check
dbschema:diff
core:code:changes
refactor
graphql:compare
list
help
help
opzioni disponibili per Upgrade Compatibility Tool. Questo comando può essere eseguito insieme a un'opzione con i comandi precedenti.Usa il comando upgrade:check
Il comando upgrade:check
verifica la presenza di modifiche al codice di base per l'istanza Adobe Commerce specifica e tutte le modifiche al codice personalizzato sono installate in tale istanza.
Il comando upgrade:check
è il comando principale per l'esecuzione dello strumento:
bin/uct upgrade:check <dir>
Dove il valore <dir>
è la directory in cui si trova l'istanza di Adobe Commerce.
Opzioni disponibili per il comando upgrade:check
:
upgrade:check
- —help: restituisce tutte le opzioni disponibili.
- —current-version: versione corrente di Adobe Commerce. Questo parametro è obbligatorio e deve essere sempre utilizzato.
- —min-issue-level: è possibile filtrare i problemi in base al livello di problema minimo (il valore predefinito è WARNING).
- —ignore-current-version-compatibility-issues (o -i): se non si desidera includere nel rapporto problemi critici, errori e avvisi della versione corrente.
- —coming-version (o -c): specifica una versione di Adobe Commerce. Se omesso, verrà utilizzato il più recente disponibile.
Upgrade Compatibility Tool consente di eseguire il comando upgrade:check
con un'opzione --ignore-current-version-compatibility-issues
. Utilizzare questa opzione quando si desidera ottenere solo i nuovi problemi introdotti con l'aggiornamento dalla versione corrente alla versione di destinazione nel report Upgrade Compatibility Tool:
bin/uct upgrade:check --ignore-current-version-compatibility-issues <dir>
Aggiunta dell'opzione --coming-version
È possibile confrontare l'installazione corrente di Adobe Commerce con qualsiasi versione di Adobe Commerce >=2.3
utilizzando l'opzione --coming-version
.
È necessario fornire la versione come parametro durante l'esecuzione del comando upgrade:check
:
bin/uct upgrade:check <dir> -c 2.4.3
Dove -c, --coming-version[=COMING-VERSION]
fa riferimento alla versione di destinazione di Adobe Commerce.
Esistono alcune limitazioni durante l'esecuzione di --coming-version
:
- Questo parametro fa riferimento a qualsiasi tag che identifica una versione specifica di Adobe Commerce.
- È un requisito fornire questo in modo esplicito; fornire solo il valore di esso non funziona.
- Specificare la versione del tag senza virgolette (né singole né doppie):
'2.4.1-development'. - NON devi fornire versioni precedenti a quella attualmente installata, né versioni precedenti alla 2.3, che è quella più vecchia supportata al momento.
Usa il comando dbschema:diff
Puoi recuperare la differenza tra lo schema del database di due versioni di Adobe Commerce.
bin/uct dbschema:diff <current-version> <target-version>
Dove gli argomenti sono i seguenti:
<current-version>
: qualsiasi versione di Adobe Commerce per il confronto.<target-version>
: anche qualsiasi versione di Adobe Commerce per il confronto.
Esempio di esecuzione:
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
Usa il comando core:code:changes
Puoi confrontare la tua attuale installazione di Adobe Commerce per verificare se il codice core di Adobe Commerce è stato modificato per implementare una personalizzazione. Questo comando mostra solo un elenco delle modifiche principali:
bin/uct core:code:changes <dir> <vanilla dir>
Dove gli argomenti sono i seguenti:
<dir>
: directory di installazione di Adobe Commerce.<vanilla dir>
: directory di installazione Adobe Commerce vanilla.
Opzioni disponibili per il comando core:code:changes
:
core:code:changes
--help
: restituisce tutte le --help
opzioni disponibili.Installazione Vanilla
Un'installazione di vanilla è un'installazione pulita di un tag di versione o di un ramo specificato per una versione specifica.
Il comando bin/uct core:code:changes
verifica se nel sistema è presente un'istanza Vanilla. Se questa è la prima volta che si utilizza un'installazione di tipo vanilla, una domanda interattiva della riga di comando richiede di scaricare il progetto vanilla dall'archivio di Adobe Commerce (https://repo.magento.com/
).
È possibile eseguire un comando Upgrade Compatibility Tool con l'opzione --vanilla-dir
per specificare la directory di installazione di Adobe Commerce Vanilla.
Per ulteriori informazioni, vedere l'argomento Distribuisci istanza Vanilla.
Usa il comando refactor
Upgrade Compatibility Tool ha la possibilità di risolvere automaticamente un set ridotto di problemi:
- Funzioni che potevano essere utilizzate senza passare un argomento, ma con tale utilizzo ora sono obsolete.
- Utilizzo di
$this
nei modelli di Magento. - Utilizzo della parola chiave PHP
final
nei metodi privati.
A tale scopo, eseguire il comando refactor
:
bin/uct refactor <dir>
Dove il valore <dir>
è la directory in cui si trova l'istanza di Adobe Commerce.
Opzioni disponibili per il comando refactor
:
refactor
--help
: restituisce tutte le --help
opzioni disponibili.Usa il comando graphql:compare
Questo comando fornisce a Upgrade Compatibility Tool l'opzione per analizzare due endpoint di GraphQL e confrontare i relativi schemi alla ricerca di modifiche pericolose e non funzionanti tra loro:
bin/uct graphql:compare <schema1> <schema2>
Dove gli argomenti sono i seguenti:
<schema1>
: URL endpoint per l'installazione esistente.<schema2>
: URL endpoint per l'installazione Vanilla.
Opzioni disponibili per il comando graphql:compare
:
graphql:compare
--help
: restituisce tutte le --help
opzioni disponibili.Usa il comando list
Per restituire un elenco dei comandi disponibili Upgrade Compatibility Tool, eseguire:
bin/uct list
Usa il comando help
Per visualizzare le opzioni generali e la Guida del comando Upgrade Compatibility Tool, eseguire:
bin/uct --help
In questo modo viene restituito un elenco con tutte le opzioni help
disponibili per Upgrade Compatibility Tool in un'interfaccia della riga di 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
È possibile eseguire --help
come opzione durante l'esecuzione di un comando specifico. Restituisce --help
opzioni per il comando specificato.
Esempio del comando upgrade:check
con opzione --help
:
bin/uct upgrade:check --help
Vengono restituite opzioni specifiche che è possibile eseguire per il 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.
Segui le best practice di Adobe Commerce
- Evita di avere due moduli con lo stesso nome.
- Segui gli standard di codifica di Adobe Commerce.
- Best practice per l'aggiornamento alla Guida all'aggiornamento di Adobe Commerce 2.4.
- Esegui Upgrade Compatibility Tool da Site-Wide Analysis Tool per Adobe Commerce su infrastruttura cloud progetti.
Ottimizzare i risultati
Upgrade Compatibility Tool fornisce un report contenente i risultati con tutti i problemi identificati nel progetto per impostazione predefinita. Puoi ottimizzare i risultati in modo da concentrarti sui problemi da risolvere per completare l’aggiornamento:
- Utilizzare l'opzione
--ignore-current-version-compatibility-issues
quando si desidera ottenere solo i nuovi problemi introdotti con l'aggiornamento dalla versione corrente alla versione di destinazione nel report Upgrade Compatibility Tool. - Aggiungendo l'opzione
--min-issue-level
, questa impostazione consente di impostare il livello minimo di problema, per aiutare a dare priorità solo ai problemi più importanti con l'aggiornamento. - Upgrade Compatibility Tool richiede almeno 2 GB di RAM per l'esecuzione. Questa impostazione è consigliata per evitare problemi dovuti a una limitazione della memoria. Upgrade Compatibility Tool visualizza una domanda se si esegue il comando
upgrade:check
con un'impostazionememory_limit
bassa.