Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Удаление производителей.


artema

Recommended Posts

Добрый день. Хочу удалить производителей на выдаёт ошибку, что производитель привязан к определённому товару и следовательно, удалить не получится. Удалять руками с каждого товара не совсем вариант - товаров 45т. 

Возможно как-то удалить всех производителей одним махом, переплюнув эту ошибку?

За ранее спасибо за ответ. 

Надіслати
Поділитися на інших сайтах


Можно, но не силами системы, а используя прямые запросы в базу

UPDATE product SET manufacturer_id='' WHERE manufacurer_id='id удаляемого производителя'
DELETE FROM manufacturer where manufacurer_id='id удаляемого производителя'
DELETE FROM manufacturer_description where manufacurer_id='id удаляемого производителя'
DELETE FROM manufacturer_to_store WHERE manufacturer_id=
DELETE FROM url_alias WHERE query = 'manufacturer_id=
Надіслати
Поділитися на інших сайтах

  • 4 years later...

Вот такой ещё вариант увидел и немного подправил (добавил стандартный префикс таблиц oc_ где нужно).

 

ЗА ПОСЛЕДСТВИЯ НЕ ОТВЕЧАЮ! ПРЕДВАРИТЕЛЬНО СДЕЛАЙТЕ БЕКАП БД! Проверялось на ocStore 2.3.0.2.3

 

DELETE oc_manufacturer, oc_manufacturer_description, oc_manufacturer_to_store FROM oc_manufacturer
LEFT JOIN oc_manufacturer_description ON oc_manufacturer_description.manufacturer_id = oc_manufacturer.manufacturer_id
LEFT JOIN oc_manufacturer_to_store ON oc_manufacturer_to_store.manufacturer_id = oc_manufacturer.manufacturer_id
WHERE oc_manufacturer.manufacturer_id NOT IN (SELECT DISTINCT manufacturer_id FROM oc_product)

 

Удалит всех производителей, которые НЕ привязаны к какому-либо товару.

 

Реальный сценарий использования: импортировали товары, но напутали колонку с производителем и теперь у вас в базе сотни левых производителей. А потом импортировали нормально. Но теперь в базе некорректные производители вперемешку с нормальными. Вот чтобы ручками не вычищать - лезем в базу и исправляем. Очистка кеша ocStore после запроса обязательна.

 

У кого хватит сил - дополните, чтобы еще и url_alias подчищало, хотя процедура не обязательна (чисто пространство имен освободить).

 

 

Змінено користувачем trulala
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.