Недавно решил почистить MySQL. В phpMyAdmin нажал "очистить" на нескольких таблицах, начинающихся на "cache". Заодно поставил модуль db_maintenance и в нём выбрал несколько таблиц для оптимизации. В итоге на главной страницы вместо контента выдаётся следующее: "warning: Invalid argument supplied for foreach() in /home/***/public_html/***/modules/cck/content.module on line 1284." Однако, вновь созданный материал прекрасно себе отображается. Помогите пожалуйста исправить ошибку.
З.Ы.
Знаю, что сильно затупил, так безрассудно поступая с базами данных, но всё же смею надеяться на помощь форумчан в решении вопроса =/.
Комментарии
Cache не причем.
попробуйте запустить крон. но проблема не в кеше скорее всего.
Запускал крон, но не помогло. Удалил все не одобренные комменты (тонны спама). Ничего не изменилось.
В таблице content_type_story есть куча строк, в графе "field_orig_value" которых написано "edit-field-orig-0-value". Причем таких срок около ста тысяч. Не знаю, может, когда запускал db_maintenance, побились данные в этих ячейках...
Еще решил проверить чем отличается опубликовавшийся материал (который без глюков публикуется после "чистки") и старый материал, который был опубликован до "чистки" и который не отображается.
Для этого я поискал поиском по всей базе данных часть материала. Получилось следующее:
Найденые соответсвия для части текста сообщения, которое было опубликовано после "чистки" (фраза "ОЯЕ*УНДЕСТАГ"):
1 соответствие в таблице cache_content Обзор Удалить
1 соответствие в таблице cache_filter Обзор Удалить
1 соответствие в таблице content_type_story Обзор Удалить
1 соответствие в таблице node Обзор Удалить
1 соответствие в таблице node_revisions Обзор Удалить
1 соответствие в таблице watchdog Обзор Удалить
Найденые соответсвия для для длинной части текста сообщения, которое не отображается:
2 соответствия в таблице cache_content Обзор Удалить
3 соответствия в таблице cache_filter Обзор Удалить
4 соответствия в таблице comments Обзор Удалить
22 соответствия в таблице content_type_story Обзор Удалить
4 соответствия в таблице locales_target Обзор Удалить
3 соответствия в таблице node Обзор Удалить
20 соответствий в таблице search_dataset Обзор Удалить
26 соответствий в таблице search_index Обзор Удалить
13 соответствий в таблице search_total Обзор Удалить
1 соответствие в таблице term_data Обзор Удалить
Как видно, разница ощутимая. Может эта информация поможет решить проблему?
восстанавливайте из бэкапа.
а вообще гуглить пробовали? https://drupal.org/node/716878
Я бытак сделала:
Отключите из базы модуль CCK и посмотрите, вернулся ли и в каком виде старый контент (хотя это и в базе можно посмотреть). Если контента нет никакого - придется возвращать бекап. Если контент есть, то надо дальше копать в ССК.
У вас вечер советов не в тему?
Что-то кажется мне, что автор зацепил чисткой field_instance или вторую таблицу, запамятовал.
В таком случае разворачивать бекап полностью не требуется.
Автор мог зацепить все, что угодно, поэтому я и написала, что я бы сначала проверила проблема только в field's или еще и в другом есть. И да, я бы залила полный бекап, имея в виду, что в базе уже всячески ковырялись.
А у вас, RxB, вечер "мочи всех, кто под руку попался?"
Начнём с того, что ваш совет про отключение CCK никоим боком автору не поможет.
Единственное ценное в вашем комменте - совет восстановить бекап, но это автор и так знает.
Что было зацеплено при чистке, довольно быстро локализуется по тексту ошибки.
В общем, за**ся я мучить двиг сайта. Придётся восстанавливать с бэкапа =/. Спасибо всем за помощь!
дак поставьте бекап в другую базу и визуально пробегитесь по таблицам, может вы таблицу опустошили которая к полям относится, тогда 0 размер вы сразу заметите и просто перебросите содержимое таблицы из бекапа