Ответы:
Эта ошибка возникает, когда инструменту миграции не удается передать данные (например, из-за нарушений целостности) без отката, и он запускается снова. Он пытается создать набор атрибутов "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/issues/235#issuecomment-321923437
Решение состоит в том, чтобы переименовать все значения, содержащие имя «Default» в поле «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';