He migrado con éxito el catálogo de Magento 1.9.2.3 a Magento 2.0.2. Después de la migración, reindexé usando el comando php bin/magento indexer:reindex
.
Todo se vuelve a indexar con éxito, excepto los índices catalog_category_product
y catalog_product_category
, regresando No such entity.
en shell y notificación Reindex Required
en admin. Lo he comprobado var/log/
pero no hay errores.
Como resultado, los productos se agregan a categorías en el back-end, pero las categorías aparecen vacías en la interfaz.
¿Qué puede causar este problema? ¿Cómo puedo depurar?
magento2
reindex
magento-2.0
migration
Gerard de Visser
fuente
fuente
Respuestas:
Además de Rafael:
Depuré este código alterando el constructor de excepciones para propósitos de depuración (ya sea por xdebug o por viejos volcados). Altere la construcción de la excepción por ahora (el archivo es
\lib\internal\Magento\Framework\Exception\NoSuchEntityException.php
)Después de eso, suba una pila y verifique los argumentos dados (los argumentos también están disponibles en la traza inversa de depuración, pero descargar objetos magento no es realmente amigable para el navegador).
Llegué a la conclusión de que estaba en el lugar
storeGroupRepository
donde no podía encontrar la identificación del grupo. Se sumergió en las tablas de la tienda y vi algunas líneas en la tabla de la tienda que hacían referencia a unastore_group
que no estaba en lastore_group
tabla (el grupo de la tienda no existe en la tabla relevante).Se eliminaron las líneas de almacenamiento defectuosas y el error desapareció desde entonces.
Pero, tenga en cuenta que también puede estar en una tabla diferente / otra razón. por ejemplo, sitio web, tienda propia o grupo de tiendas en este caso. Entonces esa es siempre una pequeña búsqueda que debes realizar tú mismo.
También descubrí que había muchas referencias a estas tiendas y también las eliminé manualmente en la base de datos. Este puede ser un trabajo tedioso pero resolverá el problema.
Y no olvides eliminar tus hacks.
fuente
No estoy seguro de si esto es demasiado tarde para agregar, pero cuando tuve esto, parecía ser causado por algunos identificadores de entidad que debían establecerse en 0.
Este script funcionó para mí:
Espero eso ayude.
fuente
Ok, entonces el
No such entity.
mensaje de error proviene\lib\internal\Magento\Framework\Exception\NoSuchEntityException.php
.Esta clase es una clase de excepción personalizada de Magento y se usa mucho en Magento 2.
Cada vez que vea un código como:
O
Esta clase está siendo utilizada.
El problema en su caso es que es difícil averiguar desde dónde se lanza esa excepción.
Entonces, para reducirlo un poco, puede comenzar a depurar las dos clases relacionadas con sus índices que fallan:
Magento\Catalog\Model\Indexer\Category\Product
=> catalog_category_product indexMagento\Catalog\Model\Indexer\Product\Category
=> catalog_product_category indexAfortunadamente, el segundo extiende el primero para que tenga un punto de partida.
Debe tener en cuenta que cada una de estas clases de indexador utiliza clases de filas de acción para procesar la reindexación:
Magento\Catalog\Model\Indexer\Product\Category\Action\Rows
Magento\Catalog\Model\Indexer\Category\Product\Action\Rows
Para mí, ahí es donde debe comenzar a depurar, ya que esas clases de filas de acción son las clases directas que reindexan esos dos índices.
Realmente espero que te ayude a encontrar tu problema.
fuente
Esto funcionó para mí después de probar todo.
Suponiendo que su sitio está instalado
Developer Mode
, puede cambiarloProduction Mode
y borrar / vaciar la caché y luego volver a cambiar aDeveloper Mode
.Tuve este problema en la parte frontal, ya que recientemente moví la base de datos de un servidor a otro. He logrado resolver de esta manera.
ESPERO QUE ESTO AYUDE A ALGUIEN.
fuente
Básicamente lo mismo
Magento 2 - Sitio en movimiento - 'No existe tal entidad'
cd /magento-root-path/var
rm -rf *
cd ../
php bin/magento setup:upgrade
rm -rf ./var/di
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
chown -R www-data
.fuente
Este error, en mi caso, fue para una configuración de varias tiendas y varios dominios. Magento trunca los códigos de la tienda. Si está asignando dominios a códigos de tienda, asegúrese de que el código de tienda coincida con el enrutamiento especificado en index.php (o donde sea que asigne). En el administrador verifique en "Tiendas" > " Todas las tiendas ". Verifique su sitio web, tienda y vea los códigos de tienda.
Una vez que me di cuenta de que Magento truncó el código de la tienda que había ingresado e hice el mismo ajuste en el mapeo y todo comenzó a funcionar nuevamente.
fuente