nr 1 backup
Przykładowy skrypt testowy. Jeśli w zapytaniu nie pominiemy START TRANSACTION i ROLLBACK; będziemy mogli zobaczyć co zrobi nasze zapytanie a wszystkie zmiany zostaną przywrócone do stanu z przed zapytania. Zanim dokonasz zmiany w bazie upewnij się, że zapytanie zrobiło dokładnie to czego chciałeś.
SELECT * FROM `ps_product`
Jakie tabele nas interesują? Tabela ps_product
SELECT c.id_category, cl.name
FROM `ps_category` c
LEFT JOIN `ps_category_lang` cl
ON c.id_category = cl.id_category WHERE cl.id_lang = 1;
START TRANSACTION;
UPDATE `ps_product` SET `id_category_default` = '6' ; #zmienia kategorię wszystkich produktów
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_category_default` = 2; #zmienia kategorię produktów o danej kategorii.
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_product` = 1858; #zmienia kategorię konkretnego produktuSELECT * FROM ps_product;
ROLLBACK;
Jeśli interesuje cię bardziej zaawansowane zapytania, które są uodpornione na obecność jednego produktu w wielu kategoriach przy i ch przenoszeniu oraz usuwanie produktu z przenoszonej kategorii gdy już istnieje w bazie można znaleźć na tej stronie:
https://devwl.pl/prestashop-how-to-reassign-products-from-one-category-to-another/