¿Alguien tiene este problema?
migración de datos> Paso EAV
SQLSTATE [23000]: Infracción de restricción de integridad: 1062 Entrada duplicada '1-Migration_Default' para la clave 'EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME'
¿Alguien tiene este problema?
migración de datos> Paso EAV
SQLSTATE [23000]: Infracción de restricción de integridad: 1062 Entrada duplicada '1-Migration_Default' para la clave 'EAV_ATTRIBUTE_SET_ENTITY_TYPE_ID_ATTRIBUTE_SET_NAME'
Respuestas:
Este error se produce cuando la herramienta de migración no puede transferir datos (por ejemplo, debido a violaciones de integridad) sin retroceder, y se ejecuta nuevamente. Intenta crear el conjunto de atributos "Migration_Default" y falla, porque ya está presente en la base de datos.
Lo que tienes que hacer es:
1) Restaure su base de datos Magento 2.0 a partir de una copia que (con suerte) realizó antes de ejecutar la herramienta de migración.
2) Ejecute la herramienta de migración nuevamente y verifique el primer error en el que falla. En mi caso fue:
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'home-1' for key 'URL_REWRITE_REQUEST_PATH_STORE_ID'
3) Solucione el problema (tuve que eliminar manualmente una fila en la base de datos).
Repita los pasos hasta que haya borrado todos los errores y vea el dulce mensaje que suena:
Migration completed
Encontré esta solución que resolvió este problema para mí https://github.com/magento/data-migration-tool/issues/235#issuecomment-321923437
La solución es cambiar el nombre de todos los valores que contengan el nombre "Predeterminado" en el campo "atributo_valor_nombre" de la tabla eav_attribute_set a "Predeterminado_x" en la base de datos de Magento 1 y ejecutar la migración desde cero.
En mi caso, había 9 registros con el nombre "Predeterminado". Así que les cambié el nombre a Default_1 a Default_9 y funcionó perfectamente.
EAV_ATTRIBUTE_GROUP_ATTRIBUTE_SET_ID_ATTRIBUTE_GROUP_CODE
y lo resolví con un enfoque similar:UPDATE eav_attribute_group SET attribute_group_name = CONCAT(attribute_group_name, "_", attribute_set_id) WHERE attribute_group_name = "General";
En mi caso : me sucedió y tuve que importar una copia de seguridad de mi base de datos magento 2 antes de volver a cargar la migración.
En su caso : tal vez tuvo que volver a cargar la migración de datos por segunda vez.
Para solucionar este problema,
Puede hacerlo a través de su aplicación o interfaz de consulta SQL.
DELETE FROM eav_attribute_set WHERE attribute_set_name != 'Default';
Verifique con su base de datos de migración Magento 2. A veces no cambiamos el nombre de la base de datos en la herramienta de migración de datos.
Vuelva a instalar la instancia nueva de Magento y agregue correctamente el nombre de la base de datos en la herramienta de migración de datos
Data-Migration-Tool no recibe datos de la fuente en utf8.
Aquí hay una solución simple a este problema:
Editar: 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;
}
En mi experiencia, hay datos de muestra instalados. Entonces, he hecho los siguientes pasos.
Entonces, puedo migrar.
Se solucionó mi problema con el siguiente sql:
Infracción de restricción de integridad: 1062 Entrada duplicada '4-Images' para clave - Magento 2
delete from eav_attribute_group WHERE attribute_group_name = 'Images';
Entonces intenta algo
delete from eav_attribute_group WHERE attribute_group_name = 'Home';