The Problem
After adding a specification attribute to a product, you are no longer able to update the attribute at the product level if the value of the option is a number or int. Updating means changing the order, enabling the filter or enabling/disabling to "show on product page".
How I Discovered
I recognized a pattern in that when the value of the attribute option is a number or int like 1 or 2 or 3, you are unable to update the option in the product. You will receive an "Error happened" when trying to update. However, when the value is text or a string, there is no issue.
How To Reproduce
1. Create a Specification Attribute with an option value of 1 or 2 or 3.
2. Add the Specification Attribute to a product.
3. Try to change the display order from within Product > Specification Attributes.
4. When you receive a "Error Happened" dialog, change the option value which is "Name" in the sql table SpecificationAttributeOption from 1 to A.
5. Now try to update the display order in Product > Specification Attributes.
6. You will notice the attribute option and other values can now be updated.
7. Reverse changes, repeat steps 1, 2 and 3 to confirm failure to update.
Regards