После некачественного обновления Magento Community Edition с версии 1.6.1.0 до версии 1.7.0.0 возник сбой "Integrity constraint Duplicate key"

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 akoval
  • Группа: Пользователь
  • Сообщений: 7
  • Регистрация: 24.11.2011

09.06.2012 14:01

Уважаемые коллеги!


Недавно сделал upgrade magento с 1.6.1 Community edition на 1.7.0 через Connect manager. Обновление вроде бы произошло, по крайней мере никаких сообщений об ошибках не было и все работает (в основном).

Если бы не одно но... Я сейчас отлаживаю одно приложение, которое грузит товары через SOAP, поэтому чтобы не заморачиваться с большим количеством товаров, каждый раз после очередной попытки захожу в админку и удаляю оттуда созданные товары и после этого повторяю ввод.
Сервер у меня локальный, каждый раз в начале работы я его запускаю, а в конце - выключаю. Как заметил, при этом magento сбрасывает счетчик autoincrement в таблицах (судя по тому, что товары каждый день начинают создаваться начиная с одного и того же id).

В какой-то момент вываливается magento при создании нового товара с ошибкой Inetgrity constraint Duplicate key на таблице cataloginventory_stock_item. В ней оказывается остаются записи для товаров, которые уже удалены... Начинаю каждый раз чистить эту таблицу, чтобы не стоять на месте.
Дальше больше. Я еще присваиваю товарам Custom options. Через несколько дней аналогичная ситуация с таблицами для Custom options (catalog_product_option_...). Посмотрел туда, а там этих записей полно. Понятно, что и там можно почистить их после каждого удаления товаров (что я и делаю), но ведь magento должна об этом сама заботиться :D

Вот теперь сижу и думаю, а с чего это не выполняется полная очистка таблиц от удаленных товаров. Виноват upgrade? Я грешил на модуль Advanced Products Option от MageWorx, но почему тогда то же самое происходит с cataloginventory_stock_item?

Никто не сталкивался с подобной проблемой?

Поделиться темой: