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

[Решено] Изменение привязки товара в мультимагазине

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

Приветствую.

Есть магазинчик, в котором товары раскиданы между двумя магазинами (мультимагазин наверное, а то не сталкивался с таким раньше) - на основном домене и его поддомене.

То есть для управления магазинами используется одна база данных. Решили соединить все товары в один магазин, а тот что на поддомене убрать вовсе.

Каким запросом в базе данных можно сделать привязку всех товаров и категорий только к главному магазину?

Заранее благодарен за ответ.

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


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

Посмотрите id магазина, в который хотите перекинуть всё и дальше во всех таблицах, где есть store_id выполните:

UPDATE `__table_name__` SET `store_id`= __shop_id__

Соответственно, вместо __table_name__ и __shop_id__ - ваши значения.

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, Dotrox сказал:

Посмотрите id магазина, в который хотите перекинуть всё и дальше во всех таблицах, где есть store_id выполните:


UPDATE `__table_name__` SET `store_id`= __shop_id__

Соответственно, вместо __table_name__ и __shop_id__ - ваши значения.

Dotrox, зачеркни все !!!!

backup

backup

 

 

TRUNCATE oc_product_to_sore;

 

INSERT INTO oc_product_to_(store prodict_id, store_id) SELECT product_id,0 FROM oc_product_id;

 

То же самое сделать и с

 

oc_category_to_store

и похожими

 

 

 

 

 

 

 

 

 

  • +1 1

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


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

@chukcha ну, бекап не помешает, но почему UPDATE нельзя всё же объясни.

 

И ты забываешь, что к магазинам привязаны не только товары/категории, но и как минимум покупатели и заказы, где вариант очистить таблицу something_to_store и заполнить заново - не прокатит по причине отсутствия такой таблицы, а поле store_id у этих сущностей - в таблице с данными, которые стирать нельзя.

 

Если ТС хочет избавится от мультимагазина, то на основной магазин нужно переключить всё, а не только товары/категории.

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


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

Убирая один магазин, первый становится 0

 

UPDATE нужно делать только в тех таблицах, где есть поле store_id

 

А таблицы LIKE '%_to_store' можно смело чистить и перепривязывать. Исключив тем самым все ошибки

 

 

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


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

Спасибо за ответы. Бэкап - это святое))

Попробую завтра сделать на тестовом сайте. Если успею, то сообщу о результате - может кому будет ещё полезным. 

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


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

Что-то сначала ни первый, ни второй вариант не хотели работать. Да и удалить "лишний" магазин сразу не давала система, т.к. с него были заказы.

В общем при помощи запроса Dotrox в таблице oc_order привязал все заказы к первому магазину, тот который хотел оставить. Затем удалил "лишний магазин" из админки. 

По поводу категорий уже не помню - или тоже запрос делал или сами автоматом стали в Основном магазине.

 

Для товаров выполнил вроде вариацию запроса предоставленного chukcha:

REPLACE INTO oc_product_to_store (product_id, store_id) SELECT product_id,0 FROM oc_product;

Теперь всё вроде как надо. На крайний случай есть бэкапы ))

 

Большое спасибо Dotrox и chukcha за помощь!

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


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

а какой запрос набрать, чтобы все товары из магазина

store_id=1 
были также привязаны и к магазину 
store_id=2
?

Подскажите, пожалуйста!

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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

×

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

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