Réponses:
Cette erreur se produit lorsque l'outil de migration ne parvient pas à transférer des données (par exemple en raison de violations d'intégrité) sans annuler, et est exécuté à nouveau. Il tente de créer le jeu d'attributs "Migration_Default" et échoue, car il est déjà présent dans la base de données.
Ce que vous devez faire, c'est:
1) Restaurez votre base de données Magento 2.0 à partir d'une copie que vous avez (espérons-le) faite avant d'exécuter l'outil de migration.
2) Réexécutez l'outil de migration et recherchez la première erreur sur laquelle il échoue. Dans mon cas, c'était:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Résoudre le problème (j'ai dû supprimer manuellement une ligne dans la base de données).
Répétez les étapes jusqu'à ce que vous ayez effacé toutes les erreurs et que le message au son doux soit visible:
Migration completed
J'ai trouvé cette solution qui a résolu ce problème pour moi https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
La solution consiste à renommer toutes les valeurs contenant le nom "Default" dans le champ "attribute_value_name" de la table eav_attribute_set en "Default_x" dans la base de données Magento 1 et à exécuter la migration à partir de zéro.
Dans mon cas, il y avait 9 enregistrements avec le nom "Default". Je les ai donc renommés Default_1 en Default_9 et cela a parfaitement fonctionné!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
résolu cela par une approche similaire:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
Dans mon cas : cela m'est arrivé et j'ai dû importer une sauvegarde de ma base de données magento 2 avant de recharger la migration.
Dans votre cas : vous avez peut-être dû recharger la migration des données une deuxième fois.
Pour résoudre ce problème,
Vous pouvez le faire via votre application ou interface de requête SQL.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Vérifiez avec votre base de données de migration Magento 2. Parfois, nous n'avons pas modifié le nom de la base de données dans l'outil de migration de données.
Réinstallez une nouvelle instance de Magento et ajoutez correctement le nom de la base de données dans l'outil de migration des données
Data-Migration-Tool ne reçoit pas de données de la source dans utf8.
Voici une solution simple à ce problème:
Éditer: 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;
}
D'après mon expérience, des exemples de données sont installés. J'ai donc fait les étapes suivantes.
Ensuite, je peux migrer.
Correction de mon problème avec sql suivant:
Violation de contrainte d'intégrité: 1062 Entrée en double «4 images» pour la clé - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Alors essayez quelque chose
delete from eav_attribute_group WHERE attribute_group_name = 'Home';