[QUOTE]Александр Гусев пишет:
Икрементальное удаление спасет мир
[/QUOTE]Это что такое?[QUOTE]Nikolay Ryzhonin пишет:
Можно написать скрипт который запустить из консоли и удалить все разделы сразу
[/QUOTE]Мм, в какой консоли? В битриксе? Скрипт у меня и так написан, но очень медленно отрабатывает. Не думаю что консоль ускорит его работу.
Сам скрипт:
[CODE]$arSelect = Array("ID");
$arFilter = Array("IBLOCK_ID" => 1, "SECTION_ID" => 740);
$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect);
print $res->SelectedRowsCount();
while($arFields = $res->GetNext()){
//$DB->StartTransaction();
CIBlockSection::Delete($arFields["ID"]);
/*if(!CIBlockSection::Delete($arFields["ID"])){
$DB->Rollback();
} else {
$DB->Commit();
}*/
}
[/CODE]Пока не закомментировал строки связанные с транзакциями, удаление вообще не шло, вылетала ошибка, сервер БД зависал, и не мог перезапуститься. Короче полная бяка )
Икрементальное удаление спасет мир
[/QUOTE]Это что такое?[QUOTE]Nikolay Ryzhonin пишет:
Можно написать скрипт который запустить из консоли и удалить все разделы сразу
[/QUOTE]Мм, в какой консоли? В битриксе? Скрипт у меня и так написан, но очень медленно отрабатывает. Не думаю что консоль ускорит его работу.
Сам скрипт:
[CODE]$arSelect = Array("ID");
$arFilter = Array("IBLOCK_ID" => 1, "SECTION_ID" => 740);
$res = CIBlockSection::GetList(Array(), $arFilter, false, $arSelect);
print $res->SelectedRowsCount();
while($arFields = $res->GetNext()){
//$DB->StartTransaction();
CIBlockSection::Delete($arFields["ID"]);
/*if(!CIBlockSection::Delete($arFields["ID"])){
$DB->Rollback();
} else {
$DB->Commit();
}*/
}
[/CODE]Пока не закомментировал строки связанные с транзакциями, удаление вообще не шло, вылетала ошибка, сервер БД зависал, и не мог перезапуститься. Короче полная бяка )