Problem dotyczy tabeli ps_specific_price a konkretnie indeksowania
przez np. php my admin podglądamy:
SHOW INDEXES FROM `ps_specific_price`
chodzi o index id_product_2
prawdopodobnie w bazie są powtórzone wiersze dla tego indeksu
lekarstwo:
dla tabeli ps_specific_prices trzeba zmienić engine na myisam
robimy to w phpmysql wybierając nasza felerna tabelę a następnie zakładke operacje i tam zmieniamy "mechanizm składowania z Innodb na MyIsam.
albo to samo poleceniem: ALTER TABLE `ps_specific_price` ENGINE=MyISAM
następnie wykonujemy polecenie:
ALTER IGNORE TABLE `ps_specific_price` ADD UNIQUE KEY `id_product_2` (`id_cart`, `id_product`,`id_shop`,`id_shop_group`,`id_currency`,`id_country`,`id_group`,`id_customer`,`id_product_attribute`,`from_quantity`,`id_specific_price_rule`,`from`,`to`);
opcja IGNORE powoduje ze są usuwane zduplikowane wiersze dla tego samego indeksu.
No i już powinno działać, możemy się cieszyć ponownie rabatami w naszym sklepie.
Można z powrotem zmienić engine dla tej tabeli na Innodb ale to chyba nie jest konieczne.