Odpowiedzi:
Ten błąd występuje, gdy narzędzie migracji nie przesyła danych (np. Z powodu naruszenia integralności) bez wycofywania i jest uruchamiane ponownie. Próbuje utworzyć zestaw atrybutów „Migration_Default” i kończy się niepowodzeniem, ponieważ jest on już obecny w bazie danych.
Co musisz zrobić, to:
1) Przywróć bazę danych Magento 2.0 z kopii, którą (mam nadzieję) wykonałeś przed uruchomieniem narzędzia migracji.
2) Uruchom ponownie narzędzie do migracji i sprawdź, czy nie wystąpił pierwszy błąd. W moim przypadku było to:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Napraw problem (musiałem ręcznie usunąć wiersz w DB).
Powtarzaj kroki, aż usuniesz wszystkie błędy i zobaczysz słodko brzmiący komunikat:
Migration completed
Znalazłem rozwiązanie, które rozwiązało dla mnie ten problem https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
Rozwiązaniem jest zmiana nazw wszystkich wartości zawierających nazwę „Default” w polu „nazwa_atrybuty” w tabeli zestawu atrybutów eav na „Default_x” w bazie danych Magento 1 i uruchomienie migracji od zera.
W moim przypadku było 9 rekordów o nazwie „Domyślnie”. Więc przemianowałem je na Default_1 na Default_9 i działało idealnie!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
i rozwiązałem go przez podobne podejście:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
W moim przypadku : zdarzyło mi się i musiałem zaimportować kopię zapasową bazy danych magento 2 przed ponownym załadowaniem migracji.
W twoim przypadku : być może musiałeś ponownie załadować migrację danych.
Aby rozwiązać ten problem,
Możesz to zrobić za pomocą aplikacji lub interfejsu zapytań SQL.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Sprawdź dwukrotnie swoją migrującą bazę danych Magento 2. Czasami Nie zmieniliśmy nazwy bazy danych w narzędziu do migracji danych.
Ponownie zainstaluj nową instancję Magento i poprawnie dodaj nazwę bazy danych w narzędziu do migracji danych
Narzędzie do migracji danych nie odbiera danych ze źródła w utf8.
Oto proste rozwiązanie tego problemu:
Edytować: 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;
}
Z mojego doświadczenia wynika, że zainstalowano przykładowe dane. Zrobiłem więc następujące kroki.
Następnie mogę przeprowadzić migrację.
Naprawiono mój problem z następującymi sql:
Naruszenie ograniczenia integralności: 1062 Zduplikowany wpis „4-obrazy” dla klucza - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Więc spróbuj czegoś
delete from eav_attribute_group WHERE attribute_group_name = 'Home';