2013-06-14 6 views
-1

У меня есть около 13000 узлов для удаления в моем drupal 7. Я попытался «просмотреть массовые операции», чтобы удалить 500 узлов одновременно, но показ «Запросить тайм-аут». Я могу удалить только 50 узлов за один раз через админ успешно, если более 50 он показывает «время ожидания запроса».Удаление огромного количества узлов в drupal

Может кто-нибудь помочь мне в этом, чтобы я мог удалить огромное количество узлов за раз.

Спасибо, чайтанья

+0

Пожалуйста, не задавайте вопросы по перекрестным вопросам (http://drupal.stackexchange.com/questions/76268/delete-huge-number-of-nodes-in-drupal). Спасибо :) – Clive

ответ

0
$query = db_query("SELECT n.nid FROM {node} n WHERE n.type = '####'"); 
while ($n = db_fetch_object($query)) { 
    node_delete($n->nid); 
} 

Используя приведенный выше запрос, чтобы удалить узел.

+0

Не было бы этого таймаута ужасно .. то есть, не исправить проблему. Если бы вы предложили запустить что-то подобное через drush, то да, я вижу, что это работает через CLI. – Grizly

1

Существует модуль для этого (TM).

См. Bulk Delete.

Это будет использовать пакетный API для удаления узлов, чтобы избежать тайм-аутов или проблем с памятью при удалении тысяч узлов одним вызовом node_delete_multiple().

Bulk Delete - заброшенный модуль. См альтернативы:

0

может потребоваться увеличить время выполнения PHP в php.ini файле конфигурации.