Не работает восстановление дерева категорий, ошибка №1062 Есть решение

Перепуталось каким-то образом отображение категорий в админке, некоторые категории вообще пропали, некоторые в админке показаны на своем месте, а на фронтенде вообще в другом. Из админки вид похож на то что описано в этой теме:

https://support.webasyst.ru/11525/ne-pravilno-otob...


Перейдите по ссылке вида адрес_вашего_сайта.ру/webasyst/shop/?module=repair&action=categories , это должно исправить дерево категорий.

Этот способ "починки" категорий не работает, выдает "ошибка №1062", причем после этого некоторые категории ставит правильно, некоторые раскидывает вообще не поймешь куда, например они оказываются в корне, причем из админки их вообще не видно.

Помогите разобраться!!!

PS: по "глючным" категориям полез в БД, в полях url и full_url правильные значения, id родительской категории тоже правильные.

В логах вот такое:


Uncaught exception waDbException:
Database error. See log for details. (1062)
## wa-system/database/waModel.class.php(243)
#0 wa-system/database/waModel.class.php(298): waModel->run('UPDATE shop_cat...')
#1 wa-system/database/waModel.class.php(421): waModel->exec('UPDATE shop_cat...')
#2 wa-system/database/waModel.class.php(362): waModel->updateByField('id', '171277', Array, NULL, false)
#3 wa-system/database/waNestedSetModel.class.php(513): waModel->updateById('171277', Array)
#4 wa-system/database/waNestedSetModel.class.php(474): waNestedSetModel->_repair()
#5 wa-apps/shop/lib/actions/repair/shopRepair.actions.php(33): waNestedSetModel->repair()
#6 wa-system/controller/waActions.class.php(25): shopRepairActions->categoriesAction()
#7 wa-system/controller/waActions.class.php(44): waActions->execute('categories')
#8 wa-system/controller/waFrontController.class.php(229): waActions->run('categories')
#9 wa-system/controller/waFrontController.class.php(164): waFrontController->runController(Object(shopRepairActions), 'categories')
#10 wa-system/controller/waFrontController.class.php(58): waFrontController->execute(NULL, 'repair', 'categories')
#11 wa-system/waSystem.class.php(552): waFrontController->dispatch()
#12 wa-system/waSystem.class.php(483): waSystem->dispatchBackend('webasyst/shop/')
#13 index.php(7): waSystem->dispatch()
#14 {main}

2 ответа

  • 2
    Mike Kart 29 августа 2017 13:27 # Решение

    Решено - в БД одна из категорий была дублирована - id был другой а url и full_url был одинаковый. После удаления этой категории из БД починка категорий прошла нормально с ответом ОК

  • 1
    Илья Иванов 25 июня 2018 12:24 #

    У меня та же проблема.

    Как удалить дублирующиеся категории из БД если магазин в облаке?

    Прошу поддержку - не получается.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите