I'm using a custom decimal field in a custom product type in Drupal commerce. It has a precision of 10 and a scale of 2 (2 digits to the right of the decimal place).
I have a client with a large number of products that use this field, but their specification has now changed to require a decimal to 3dp.
By default Drupal "locks" the field to avoid data loss:
Because the field already has data, some settings can no longer be changed.
I took to editing the database, and it seems to have worked fine. I did three things:
Changed the structure type of
field_THIS_FIELD_valuefield in the
Repeated the same for the field revision table
I downloaded the BLOB from table 'drupal_field_config' for
I cleared cache and existing data now has an extra 0 after the decimal place, and when I alter the data it stores it to 3 decimal places.
So it seems to work fine. But am I missing anything? Is there anywhere else where field data is changed that I might need to change?
Does the system integrity remain intact? I think I've done what's necessary but don't want to inadvertently break something else or cause any weakness in the system.