Antworten:
Dieser Fehler tritt auf, wenn das Migrationstool keine Daten überträgt (z. B. aufgrund von Integritätsverletzungen), ohne ein Rollback durchzuführen, und erneut ausgeführt wird. Es wird versucht, den Attributsatz "Migration_Default" zu erstellen, und dies schlägt fehl, da er bereits in der Datenbank vorhanden ist.
Was Sie tun müssen, ist:
1) Stellen Sie Ihre Magento 2.0-Datenbank von einer Kopie wieder her, die Sie (hoffentlich) vor dem Ausführen des Migrationstools erstellt haben.
2) Führen Sie das Migrationstool erneut aus und suchen Sie nach dem ersten Fehler, bei dem es fehlschlägt. In meinem Fall war es:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Beheben Sie das Problem (ich musste eine Zeile in der Datenbank manuell entfernen).
Wiederholen Sie die Schritte, bis Sie alle Fehler behoben haben und die süß klingende Meldung sehen:
Migration completed
Ich habe diese Lösung gefunden, die dieses Problem für mich gelöst hat: https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
Die Lösung besteht darin, alle Werte, die den Namen "Standard" im Feld "attribute_value_name" der Tabelle eav_attribute_set enthalten, in "Default_x" in der Magento 1-Datenbank umzubenennen und die Migration von Grund auf neu auszuführen.
In meinem Fall gab es 9 Datensätze mit dem Namen "Standard". Also habe ich sie in Default_1 in Default_9 umbenannt und es hat perfekt funktioniert!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
und löste diesen durch einen ähnlichen Ansatz:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
In meinem Fall : Es ist mir passiert und ich musste ein Backup meiner Magento 2-Datenbank importieren, bevor ich die Migration neu laden konnte.
In Ihrem Fall : Möglicherweise mussten Sie die Datenmigration ein zweites Mal neu laden.
Um dieses Problem zu beheben,
Sie können dies über Ihre SQL-Abfrageanwendung oder -schnittstelle tun.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Überprüfen Sie dies mit Ihrer migrierenden Datenbank Magento 2. Manchmal haben wir den Datenbanknamen im Datenmigrationstool nicht geändert.
Installieren Sie die neue Magento-Instanz neu und fügen Sie den Datenbanknamen im Datenmigrationstool korrekt hinzu
Das Data-Migration-Tool empfängt in utf8 keine Daten von der Quelle.
Hier ist eine einfache Lösung für dieses Problem:
Bearbeiten: 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;
}
Nach meiner Erfahrung sind Beispieldaten installiert. Also habe ich die folgenden Schritte gemacht.
Dann kann ich migrieren.
Mein Problem mit folgendem SQL wurde behoben:
Verletzung der Integritätsbeschränkung: 1062 Doppelter Eintrag '4-Images' für Schlüssel - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Also probieren Sie etwas aus
delete from eav_attribute_group WHERE attribute_group_name = 'Home';