I've got a store that started life as commerce kickstart 2 release candidate and has been upgraded over the last six months with updates as they've been released.

When I update from 2.7 -> 2.8 or 2.9 the product titles go missing and the images display formatter is changed. The root cause of the problem looks to be that the field definitions for the product are being changed when I run update.php .

The problem seems to be with update 7216. From what I can understand it looks to be reverting the body field to text with summary type but at the same time it's also resetting all of the other fields to defaults too.

I only use a single product display type and a single product variation type with the names 'product display' and 'product'. Are these added by default to a kickstart install (I can't remember off hand)?

My titles look to have disappeared from display because there are no entries in the table 'field_data_title_field' for the product displays or variations. I am using the product title as the attributes and not separate attributes.

I'd also changed fields such as the 'product_category' to allow multiple values, images to use different display formatters and reordered fields and these settings have been reverted.

What is the best way for me to resolve this issue?

Can I just not run the 7216 update? Am I likely to run into future problems if I do this?

Should I have not altered the standard 'product display' and 'product' definitions and should I have instead created a copy?

I'd looked at this did the same on a dev version however my concern is if it's happened once then it's likely to happen again in the future and I'd like to know if I'm going to cause further problems for myself doing it this way.

Yeah I wouldn't recommend the fix yet, as it may have other unknown (to me) consequences.

Hopefully a maintainer can shed a bit more light on the issue as there must have been a reason for it's inclusion in the first place.

Perhaps it just need defining a bit more, so it only reverts the part the update had intended instead of wiping out other parts. i.e. the update was only supposed to target the body fields but has managed to do something else entirely for us.

If you use a distriubution or module with featurized components, you could use features_override to avoid problems like this. The whole point of features is to be able to make features_revert to keep the feature in sync. Feel free to reopen, if this answer is not enough.