Пользовательский атрибут, не отображаемый в таблице EAV


Я создал пользовательский атрибут продукта типа text.

При просмотре таблицы catalog_product_entity_varchar я медленно, но верно замечаю, что эти записи вставляются в эту таблицу (если я сохраняю новые продукты, редактирую и сохраняю существующие продукты и т.д.).

Мой вопрос таков:

Почему Magento не создал НУЛЕВЫЕ значения для всех товаров в моем каталоге для этого атрибута? Я выбрал Used in Product Listing = Да.

Author: Moose, 2014-03-20

1 answers

При добавлении нового атрибута (и присоединении его к наборам атрибутов) продукты, которые уже существовали до его добавления, не имеют значений для этого атрибута.
Это было бы бесполезно и убивало бы производительность (а magento не нужен другой убийца производительности).
Вот сценарий.
Допустим, у вас в магазине 10 тысяч товаров. И вы добавляете один новый атрибут для всех наборов атрибутов.
Если ваши ожидания оправдались, то у вас будет 10 тысяч новых строк в таблице это тебе не нужно. Не говоря уже о том, что потребуется некоторое время, чтобы вставить их при создании атрибута.
Если позже вы решите использовать этот атрибут только для 3 продуктов, у вас останется 9997 бесполезных строк.

 2
Author: Marius, 2014-03-20 07:34:33