magento, ошибка при переиндексации каталога URL перезаписывает - PullRequest
1 голос
/ 20 января 2012

Все это после rupgrading с 1.4.1

Я получаю довольно конкретное сообщение об ошибке:

Следующее исключение 'Zend_Db_Statement_Exception' с сообщением 'SQLSTATE [23000]: Нарушение ограничения целостности: 1062 Повторяющаяся запись' product / 19-1-2 'для ключа' UNQ_CORE_URL_REWRITE_ID_PATH_IS_SYSTEM_STORE_ID '' в доменах / home / inbed /. in-due.de/public_html/hochzeitsshop/lib/Zend/Db/Statement/Pdo.php:234

Проблема в том, что я не знаю, как найти запись, которая создает проблемы. ни в бэкэнде (catalog | URL Rewrite Management), ни в самой базе данных (таблица core_url_rewrite) нет записи

Продукт / 19-1-2

любая помощь приветствуется,

PAT ERLER

Ответы [ 3 ]

2 голосов
/ 08 марта 2012

@ perler, вот запрос MySQL для обнаружения дублирующихся SKU.Помните, если вы добавили префикс к вашим таблицам, измените catalog_product_entity соответственно!

SELECT
    DISTINCT(`sku`) as `sku`,
    COUNT(`sku`) as `skuCount`,
    entity_id
FROM
    catalog_product_entity
GROUP BY
    `sku`
HAVING
    `skuCount` > 1;
1 голос
/ 20 января 2012

Повторяющаяся запись предназначена для ключа, состоящего из 3 полей: id_path, is_system и store_id. Теоретически вы должны иметь возможность использовать URL Rewrite Management, искать id_path продукта / 19, и это ваше «хлопотное» поле , Удаление этого значения может решить проблему (но я бы рекомендовал сначала сделать резервную копию и сначала попробовать ее в среде разработчика).

Если вы все еще в разработке и не использовали никаких пользовательских переписываний, вы можете просто очистить таблицу core_url_rewrite и выполнить повторное индексирование для регенерации всех полей. Если это живой сайт, это будет немного более хлопотно, это будет означать потерю немного SEO-сока, если вы переименуете продукты, так как вы потеряете переписать.

0 голосов
/ 31 января 2012

Хорошо, проблема заключалась в дублировании SKU. Вы не должны быть в состоянии ввести один, но в magento 1.4.0.1 произошло то, что клиент ввел очень длинный SKU, который был укорочен при сохранении продукта. укороченная часть была тогда идентична другой SKU.

Итак, если у вас возникла эта проблема, проверьте вашу базу данных на наличие дубликатов SKU (может кто-нибудь опубликовать SQL-запрос для этого?)

...