Очистка через БД всех связей Cross-selling и Upselling Есть решение

Здравствуйте, на сайте много связей между «Рекомендуемые товары», подскажите пожалуйста как эти связи очистить через базу данных. Подскажите какой лучше использовать запрос в бд и в какой таблице.

1 ответ

  • 2
    replicant 22 августа 2021 03:54 # Решение

    Все связи, созданные вручную, лежат в отдельной таблице shop_product_related. Достаточно её очистить целиком (TRUNCATE через phpmyadmin например) и все связи такого типа исчезнут.

    Автоматические связи и флаги cross_selling и upselling в настройках товара - это уже другой вопрос. Формально автоматические связи вообще нигде не хранятся, а подчиняются алгоритму в настройках рекомендаций.

    После очистки таблицы ручных связей флаги типа выбора у товаров не поменяются (это важно). Тип выбора останется как был, а выбранных товаров-то уже нет. Это странная ситуация для второго типа и её как-то придется разруливать. Тип тоже надо будет менять на авто или выкл.

    Тип выбора cross_selling и upselling хранится в таблице shop_product и принимает значения:
    NULL (не установлен и по сути то же что и авто)
    0 - выключен
    1 - авто
    2 - ручной выбор

    Соответственно уже запросом можно переключить все флаги разом на нужный тип.

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

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