При удалении публикации с комментами происходит вывод ошибки (комменты не удаляются)

Доброго.
Ранее писал о проблеме удаления целого коллективного блога, но вот появилась новая трабла. При удалении публикации (с комментариями) происходит следующий баг — публикация удаляется, но в БД остаются комментарии для нее. Следовательно, в «прямом эфире» при прогонке запросов на вывод комментов из соответствующей таблицы получается ошибка — parent_id не найден (публикация то удалена). Проблема на лицо — не удаляются комменты. Это только у меня в единичном случае? (на НГ апгредил с 0.3 до версии 0.5.1) Как проверить правдивость моей версии и как профиксить данный баг? БД у меня довольно большая, так что версия «переустановить» не прокатит, но мне кажется ввиду обновлений в БД скопилось мусора и багов. В общем — посоветуйте как решить эту и другую (см. ссылку в начале) проблемы.

6 комментариев

avatar
Даже ни одного маленького-прималенького совета?…
avatar
Поставить плагин «Пылесос», может быть? Поискать в других местах, не здесь, как написать SQL–запрос? Я чайник во всем вообще, но я бы так делала, наверно.
avatar
Пылесос к сожалению не берет. Не реагирует никак. Выдает следующую ошибку:
<br />
<b>Warning</b>:  opendir(/home/***/http/uploads/images) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/home/***/http/plugins/cleaner/classes/modules/cleaner/Cleaner.class.php</b> on line <b>30</b><br />
SQL Error: Cannot delete or update a parent row: a foreign key constraint fails (`***/prefix_comment`, CONSTRAINT `prefix_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `prefix_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE) at /home/***/http/plugins/cleaner/classes/modules/cleaner/mapper/Cleaner.mapper.class.php line 88
Array
(
    [code] => 1451
    [message] => Cannot delete or update a parent row: a foreign key constraint fails (`***/prefix_comment`, CONSTRAINT `prefix_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `prefix_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE)
    [query] => DELETE FROM prefix_comment
			    WHERE
				comment_id = '91951'
    [context] => /home/***/http/plugins/cleaner/classes/modules/cleaner/mapper/Cleaner.mapper.class.php line 88
)
avatar
Вот тут есть по поводу нереагирования. Значт, надо сделать так: в файле plugins/cleaner/classes/modules/cleaner/Cleaner.class.php примерно 32 строка, слово
ereg(
изменить на
mb_ereg(
Но у меня все равно не работал с моим шаблоном, тоже какая-то была ошибка. Сама я не рублю, доставать автора уже устала, поэтому я просто включила шаблон new–jquery на 5 минут и отключила все плагины, пропылесосила, типа, и обратно включила мой шаблон и плагины. Это не правильно, но быстро.
avatar
Спасибо за идею, но, увы, та же фигня :(

<br />
<b>Warning</b>:  opendir(/home/***/http/uploads/images) [<a href='function.opendir'>function.opendir</a>]: failed to open dir: No such file or directory in <b>/home/***/http/plugins/cleaner/classes/modules/cleaner/Cleaner.class.php</b> on line <b>30</b><br />
SQL Error: Cannot delete or update a parent row: a foreign key constraint fails (`***/prefix_comment`, CONSTRAINT `prefix_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `prefix_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE) at /home/***/http/plugins/cleaner/classes/modules/cleaner/mapper/Cleaner.mapper.class.php line 88
Array
(
    [code] => 1451
    [message] => Cannot delete or update a parent row: a foreign key constraint fails (`***/prefix_comment`, CONSTRAINT `prefix_topic_comment_fk` FOREIGN KEY (`comment_pid`) REFERENCES `prefix_comment` (`comment_id`) ON DELETE CASCADE ON UPDATE CASCADE)
    [query] => DELETE FROM prefix_comment
			    WHERE
				comment_id = '91951'
    [context] => /home/***/http/plugins/cleaner/classes/modules/cleaner/mapper/Cleaner.mapper.class.php line 88
)
avatar
Полагаю что беда в связях между комментами. Связи имеются, и поэтому очистка не происходит… Но этому пока только необоснованное суждение на основе массы разрозненных данных (и неопытности, увы)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.