Дефрагментация атрибутов и групп
В процессе работы приходится удалять и добавлять Атрибуты и Группы. Особенность работы БД такова, что в таблицу записи добавляются по правилу автоинкремента. В результате могут появляться большие "разрывы" в нумерации 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 перенести туда все атрибуты, а затем переименовать старую Группу парсинга.