Дефрагментация атрибутов и групп
В процессе работы приходится удалять и добавлять Атрибуты и Группы. Особенность работы БД такова, что в таблицу записи добавляются по правилу автоинкремента. В результате могут появляться большие "разрывы" в нумерации attribute_group_id.
Пример таблицы до дефрагментации
attribute_group_id | sort_order |
|---|---|
| 7 | 4 |
| 8 | 5 |
| 12 | 3 |
| 37 | 2 |
| 68 | 1 |
| 146 | 9 |
| 363 | 7 |
| 364 | 6 |
| 366 | 8 |
Нет ничего страшного в том, что между соседними записями есть разрывы. Однако проблема возникает, если отсутствует attribute_group_id = 1, так как модули автоматической загрузки прайс-листов и модули парсинга используют именно этот идентификатор для размещения всех Атрибутов.
Хорошая новость — данный инструмент восстанавливает attribute_group_id = 1 без ущерба целостности данных, упорядочивая таблицу.
Пример таблицы после дефрагментации
attribute_group_id | sort_order |
|---|---|
| 1 | 4 |
| 2 | 5 |
| 3 | 3 |
| 4 | 2 |
| 5 | 1 |
| 6 | 9 |
| 7 | 7 |
| 8 | 6 |
| 9 | 8 |
В дальнейшем Группу, у которой attribute_group_id = 1, будем называть Группа парсинга.
Процесс дефрагментации может занять длительное время, особенно для магазинов с большим количеством атрибутов или товаров. При недостатке ресурсов на хостинге возможен тайм-аут. Настройки дают возможность раздельной дефрагментации Групп или Атрибутов.
![]() |
|---|
| Defragmentation tools settings |
Для получения Группы парсинга достаточно дефрагментировать только Группы.
После выполнения дефрагментации во всех деревьях должна появиться Группа парсинга, которая обозначается иконкой 🏠. Если иконка не появилась, попробуйте очистить кэш браузера.
Если Группа парсинга уже занята и содержит Атрибуты, но требуется очистка, можно создать новую одноименную группу и с помощью технологии Drag-and-Drop перенести туда все атрибуты, а затем переименовать старую Группу парсинга.
