I just had to do this, and found it to not be too difficult, but my site is fairly simple.
Try this:
- Create a new field with the proper name.
- Run these queries in MySQL:
INSERT INTO field_data_[NEW MACHINE NAME] (entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_fabric_color_pattern_tid) SELECT cf.* FROM `field_data_[OLD MACHINE NAME]` cf
INSERT INTO field_revision_[NEW MACHINE NAME] (entity_type, bundle, deleted, entity_id, revision_id, language, delta, field_fabric_color_pattern_tid) SELECT cf.* FROM `field_revision_[OLD MACHINE NAME]` cf
(swap out [NEW MACHNIE NAME] and [OLD MACHINE NAME] with field_your_field_names
)
- Update any views involved to use the new field, and any other modules that point to that specific field (this is where things might get ugly if your site is complicated). You can see any views that use your old field here:
/admin/reports/fields/views-fields
- Clear site cache