У меня странная проблема с импортом данных из Magento, и мне было интересно, сталкивался ли кто-нибудь с этим и, возможно, нашел решение, помогающее диагностировать проблему.
Я использовал инструмент переноса данных Magento, чтобы перенести данные из экземпляра Magento 1 в существующий экземпляр Magento 2. Экземпляр Magento 2 уже имел некоторые данные, так что это не была бесплатная sh копия всего, я делал это поэтапно, сначала только заказы, затем только клиенты, и, наконец, продукты и категории. Я проигнорировал блоки и страницы CMS, поскольку их нужно было сохранить, а также тему и некоторые другие параметры и проблемы (поэтому я только запустил миграцию: данные).
Мой файл конфигурации для переноса данных выглядит следующим образом :
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="urn:magento:module:Magento_DataMigrationTool:etc/config.xsd">
<steps mode="data">
<step title="Data Integrity Step">
<integrity>Migration\Step\DataIntegrity\Integrity</integrity>
</step>
<step title="EAV Step">
<integrity>Migration\Step\Eav\Integrity</integrity>
<data>Migration\Step\Eav\Data</data>
<volume>Migration\Step\Eav\Volume</volume>
</step>
<step title="Map Step">
<integrity>Migration\Step\Map\Integrity</integrity>
<data>Migration\Step\Map\Data</data>
<volume>Migration\Step\Map\Volume</volume>
</step>
<step title="Url Rewrite Step">
<integrity>Migration\Step\UrlRewrite\Version191to2000</integrity>
<data>Migration\Step\UrlRewrite\Version191to2000</data>
<volume>Migration\Step\UrlRewrite\Version191to2000</volume>
</step>
<step title="ConfigurablePrices step">
<integrity>Migration\Step\ConfigurablePrices\Integrity</integrity>
<data>Migration\Step\ConfigurablePrices\Data</data>
<volume>Migration\Step\ConfigurablePrices\Volume</volume>
</step>
<step title="Inventory Step">
<integrity>Migration\Step\Inventory\Integrity</integrity>
<data>Migration\Step\Inventory\Data</data>
<volume>Migration\Step\Inventory\Volume</volume>
</step>
<step title="PostProcessing Step">
<data>Migration\Step\PostProcessing\Data</data>
</step>
</steps>
<steps mode="delta">
<step title="Map Step">
<delta>Migration\Step\Map\Delta</delta>
<volume>Migration\Step\Map\Volume</volume>
</step>
<step title="ConfigurablePrices step">
<delta>Migration\Step\ConfigurablePrices\Delta</delta>
<volume>Migration\Step\ConfigurablePrices\Volume</volume>
</step>
<step title="Url Rewrite Step">
<delta>Migration\Step\UrlRewrite\Version191to2000Delta</delta>
<volume>Migration\Step\UrlRewrite\Version191to2000</volume>
</step>
<step title="Inventory Step">
<delta>Migration\Step\Inventory\Delta</delta>
<volume>Migration\Step\Inventory\Volume</volume>
</step>
</steps>
<source>...</source>
<destination>...</destination>
<options>...</options>
</config>
Данные о товарах и категориях благополучно скопированы, и я вижу их все в базе данных, а также в администраторе. URL переписывает и работает правильно. Однако на некоторых (но не на ВСЕХ) страницах продукта отображаются практически все данные о продукте, кроме названия, но заголовок страницы 404, а также макет 404 и содержимое 404 под всеми данными продукта (см. Изображение) .
Итак, в отличие от большинства проблем, когда страницы продукта 404ing, я знаю, что это не проблема перезаписи URL (как то же самое происходит, если я использую абсолютные пути Magento вместо URL переписать пути). У меня такое уже было в другом тесте импорта данных, и когда я посмотрел в БД, были продукты, назначенные старым наборам атрибутов, которых больше не было, поэтому я удалил их, переиндексировал и очистил кеш, и это исправило это.
Я просмотрел и подтвердил, что все наборы атрибутов, присвоенные продуктам, верны. Я переиндексировал, очистил кеш несколько раз. Это исправило несколько продуктов, но не большинство из них. Я полагаю, что это происходит из-за неправильных / поврежденных данных в БД, относящихся к продуктам, но я не знаю, как диагностировать, где и где искать. Я не могу все стереть и переустановить, так как есть данные, которые нам нужно сохранить.
Кто-нибудь сталкивался с этой проблемой раньше и, возможно, нашел решение или хороший способ выяснить, какие плохие данные портят это?