Проблем с дублиращи се id-та в базата данни - opencart

Re: От: Проблем с дублиращи се id-та в базата данни - opencart

По спомен някой от СЕО модулите (разширенията) правеше подобен проблем.
Ако има такива пробва с изключването им да локализираш от кой точно.
Имаше подобна тема от преди година може би. Но пък може и да е съвсем друг бъг.
Поздрави.

Да, има SEO модул, но странното е, че с него други си работят ОК, тук се бъгна, и то тук имам предвид не от версията на опенкар, а нещо при качване. ;)
 
От: Проблем с дублиращи се id-та в базата данни - opencart

Здравей,
на колко езика е сайта ? Рових из архива но и аз не намерих темата. Пак по спомен, ако има повече от един език, тогава се проявяваше този бъг, понеже модулът "завърташе" активните езици и вкарваше в url_alias записите без да взима предвид езика. т.е прави дублирането само ако има повече от един активен език.
Кой модул за СЕО се ползва ?
Поздрави.
 
От: Проблем с дублиращи се id-та в базата данни - opencart

Здравей,
на колко езика е сайта ? Рових из архива но и аз не намерих темата. Пак по спомен, ако има повече от един език, тогава се проявяваше този бъг, понеже модулът "завърташе" активните езици и вкарваше в url_alias записите без да взима предвид езика. т.е прави дублирането само ако има повече от един активен език.
Кой модул за СЕО се ползва ?
Поздрави.

Точно за това си мислех и аз.
 
От: Проблем с дублиращи се id-та в базата данни - opencart

Проблема е ясен.

Класически пример защо OpenCart и в частност vQmod са провал "by deign".

Когато интегритета на БД се поддържа на ниво приложение вместо да се използват вградените за това средства в БД сървъра няма как да не става мазало. Те хората не случайно още миналия век са измисли такива неща като PK, FK, unique Index, SP и тригери.

Концепцията на vQmod-а е съшита с бели конци. За разлика от WP където към един хук могат да накачулят и 100 функции тук като мине един мод и следващия вече не си намира какво да промени.

Точно това се е получило и в конкретния случай, минава един мод маже по модела и следващия не прави нищо, защото не си намира какво да промени.

Ето и заявката, която вади проблемите записи
Код:
SELECT u.url_alias_id AS dupID FROM oc_url_alias u WHERE u.`query` IN (SELECT q.`query` AS dupQ FROM oc_url_alias q GROUP BY q.`query` HAVING count(*) > 1);
 

Горе