Risposte:
Questo errore si verifica quando lo strumento di migrazione non riesce a trasferire i dati (ad esempio a causa di violazioni dell'integrità) senza eseguire il rollback e viene eseguito nuovamente. Tenta di creare il set di attributi "Migration_Default" e ha esito negativo, poiché è già presente nel database.
Quello che devi fare è:
1) Ripristina il tuo database Magento 2.0 da una copia che (spero) hai fatto prima di eseguire lo strumento di migrazione.
2) Eseguire di nuovo lo strumento di migrazione e verificare il primo errore in cui si è verificato l'errore. Nel mio caso era:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Risolvi il problema (ho dovuto rimuovere manualmente una riga nel DB).
Ripeti i passaggi fino a quando non hai eliminato tutti gli errori e vedi il messaggio dolce:
Migration completed
Ho trovato questa soluzione che ha risolto questo problema per me https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
La soluzione è quella di rinominare tutti i valori contenenti il nome "Predefinito" nel campo "nome_attributo" della tabella eav_attribute_set in "Predefinito_x" nel database Magento 1 ed eseguire la migrazione da zero.
Nel mio caso, c'erano 9 record con il nome "Predefinito". Quindi li ho rinominati in Default_1 in Default_9 e ha funzionato perfettamente!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
risolto con un approccio simile:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
Nel mio caso : è successo a me e ho dovuto importare un backup del mio database magento 2 prima di ricaricare la migrazione.
Nel tuo caso : forse hai dovuto ricaricare la migrazione dei dati una seconda volta.
Per risolvere questo problema,
È possibile farlo tramite l'applicazione o l'interfaccia di query SQL.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Ricontrolla con il tuo database Magento di migrazione 2. A volte non abbiamo cambiato il nome del database nello strumento di migrazione dei dati.
Reinstalla la nuova istanza di Magento e aggiungi correttamente il nome del database nello strumento di migrazione dei dati
Data-Migration-Tool non riceve i dati dall'origine in utf8.
Ecco una semplice soluzione a questo problema:
Modificare: vendor/magento/data-migration-tool/src/Migration/ResourceModel/Adapter/Mysql.php
public function __construct(
\Magento\Framework\DB\Adapter\Pdo\MysqlFactory $adapterFactory,
\Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory,
array $config
) {
$config['initStatements'] = 'SET NAMES utf8'; // +
$configData['config'] = $config;
$this->resourceAdapter = $adapterFactory->create($configData);
$this->setForeignKeyChecks(0);
$this->triggerFactory = $triggerFactory;
}
Nella mia esperienza, ci sono dati di esempio installati. Quindi, ho fatto i seguenti passi.
Quindi, posso migrare.
Risolto il problema con il seguente sql:
Violazione del vincolo di integrità: 1062 Voce duplicata '4-Immagini' per chiave - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Quindi prova qualcosa
delete from eav_attribute_group WHERE attribute_group_name = 'Home';