Відповіді:
Ця помилка виникає, коли інструмент міграції не може передавати дані (наприклад, через порушення цілісності) без відкоту, і запускається знову. Він намагається створити набір атрибутів "Migration_Default" і виходить з ладу, оскільки він вже присутній у базі даних.
Що вам потрібно зробити:
1) Відновіть свою базу даних Magento 2.0 з копії, яку ви (сподіваємось) зробили перед запуском інструменту міграції.
2) Запустіть інструмент міграції ще раз і перевірте наявність першої помилки, на якій він не працює. У моєму випадку це було:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Виправити проблему (мені довелося вручну видалити рядок у БД).
Повторіть дії, поки не очистите всі помилки та не побачите повідомлення про солодке звучання:
Migration completed
Я знайшов це рішення, яке вирішило для мене це питання https://github.com/magento/data-migration-tool/isissue/235#issuecomment-321923437
Рішенням є перейменування всіх значень, що містять ім’я "За замовчуванням" у полі "attribute_value_name" таблиці eav_attribute_set у "Default_x" в базі даних Magento 1 та запустити міграцію з нуля.
У моєму випадку було 9 записів з назвою "За замовчуванням". Тож я перейменував їх у Default_1 на Default_9, і це працювало чудово!
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
та вирішив це аналогічним підходом:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
У моєму випадку : це трапилось зі мною, і мені довелося імпортувати резервну копію бази даних magento 2, перш ніж перезавантажувати міграцію.
У вашому випадку : Можливо, вам довелося перезавантажити міграцію даних вдруге.
Щоб вирішити цю проблему,
Це можна зробити за допомогою програми SQL-запиту або інтерфейсу.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Двічі перевірте свою міграційну базу даних Magento 2. Іноді ми не змінювали ім'я бази даних в інструменті міграції даних.
Перевстановіть свіжий екземпляр Magento і правильно додайте ім'я бази даних в інструмент міграції даних
Data-Migration-Tool не отримує дані від джерела у utf8.
Ось просте рішення цієї проблеми:
Редагувати: 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;
}
На мій досвід, встановлено вибіркові дані. Отже, я зробив наступні кроки.
Тоді я можу мігрувати.
Виправлена проблема з наступним sql:
Порушення обмеження цілісності: 1062 Дублікат "4-зображення" для ключа - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Тож спробуйте щось
delete from eav_attribute_group WHERE attribute_group_name = 'Home';