Вход • Регистрация

Быстро удалить все товары из бд

  • 18 мая 2017 г.
  • Как можно быстро удалить все товары из бд вместе с зависимостями?
    • 18 мая 2017 г. , редакция: 18 мая 2017 г.
    • Можно в админке, в модуле Каталог выставить параметр "Показывать на странице" значение, например, 300. А затем, используя пункт "Выбрать все", в выпадающем меню определить действие - "Удалить" и нажать кнопку Применить.

      Можно через базу данных, но там целый ряд таблиц: таваров, цен, параметров, картинок, ссылок и т.д.

      Можно модуль "Каталог" деинсталировать в админке cms, а затем опять установить.

      Вариантов много, сложно сказать, что для Вас быстрее.
      • 18 мая 2017 г.
      • Цитата
        Можно модуль "Каталог" деинсталировать в админке cms, а затем опять установить.
        Самое лучшее дело
    • 18 мая 2017 г.
    • при деинсталляции модуля улетит всё (характеристики, категории и тп)
      поэтому лучше способ:
      Цитата
      в модуле Каталог выставить параметр "Показывать на странице" значение, например, 300. А затем, используя пункт "Выбрать все", в выпадающем меню определить действие - "Удалить" и нажать кнопку Применить.
  • 19 мая 2017 г.
  • Всем спасибо за ответы) думаю для меня лучшим способом будет удаление мудуля)
  • 18 апреля 2019 г.
  • А как сделать это программно? А один товар по id?
    • 18 апреля 2019 г.
    • Программно - это как? Через админку или через базу?
      Через админку написали выше: выбираете все товары и жмакаете "удалить".
      Через базу? Грохните таблицу. Но все связи останутся.

      А один товар по id через админку удалить религия не позволяет?
  • 18 апреля 2019 г.
  • Программно - это, например, если пофантазировать, вот так: $this->diafan->_shop->delete_good($id);
    Через админку не нужно, большое спасибо.
    Через базу - лень самому писать, наверняка у Диафана есть что-то подобное, просто, может, кто-то знает.
  • 18 апреля 2019 г.
  • А, вот сам подсмотрел у 1с, может, кому пригодится.
    private function delete_good($id)
    {
    DB::query("DELETE FROM {shop_category_rel} WHERE element_id=%d", $id);
    DB::query("DELETE FROM {shop_rel} WHERE element_id=%d OR rel_element_id=%d", $id, $id);
    DB::query("DELETE FROM {shop_cart} WHERE good_id=%d", $id);
    DB::query("DELETE FROM {shop_wishlist} WHERE good_id=%d", $id);
    DB::query("DELETE FROM {shop_waitlist} WHERE good_id=%d", $id);
    DB::query("DELETE FROM {shop_price_param} WHERE price_id IN (SELECT price_id FROM {shop_price} WHERE good_id=%d)", $id);
    DB::query("DELETE FROM {shop_price} WHERE good_id=%d", $id);
    DB::query("DELETE FROM {shop_param_element} WHERE element_id=%d", $id);
    DB::query("DELETE FROM {shop_discount_object} WHERE good_id=%d", $id);
    DB::query("DELETE FROM {access} WHERE element_id=%d AND module_name='shop' AND element_type='element'", $id);

    $this->diafan->_comments->delete($id, 'shop');
    $this->diafan->_tags->delete($id, 'shop');
    $this->diafan->_rating->delete($id, 'shop');
    $this->diafan->_map->delete($id, 'shop');
    $this->diafan->_images->delete($id, 'shop');
    $this->diafan->_menu->delete($id, 'shop');
    $this->diafan->_route->delete($id, 'shop');

    $this->diafan->_attachments->delete($id, 'shop');

    DB::query("DELETE FROM {shop} WHERE id=%d", $id);
    }

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум