Перейти к содержанию
artema

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

Рекомендуемые сообщения

Добрый день. Хочу удалить производителей на выдаёт ошибку, что производитель привязан к определённому товару и следовательно, удалить не получится. Удалять руками с каждого товара не совсем вариант - товаров 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=

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот такой ещё вариант увидел и немного подправил (добавил стандартный префикс таблиц 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.