How to re-create vanilla field configuration strings programmatically for any field?
I guess you will need a combination of field_update_field() and field_create_field().

During field_create_field(), the settings are loaded from the default field definition as each field has defined in its own hook_field_info().

$field['settings'] += field_info_field_settings($field['type']);


What you are looking for is to apply this logic to field_update_field().

Basically you will need to load all fields:

$fields = field_info_fields();


Optionally limit the fields to your selection:

foreach ($fields as $field_name =&gt; $field) {
  if ($field['type'] == 'some type') {} // Filter by type
  if ($field_name == 'some name') {} // Filter by name
}


And update the fields:

$field['settings'] = field_info_field_settings($field['type']);
field_update_field($field);


So I guess it should look something like this:

$fields = field_info_fields();
foreach ($fields as $field_name =&gt; $field) {
  if ($field['type'] == 'some type') {
    $field['settings'] = field_info_field_settings($field['type']);
    field_update_field($field);
  }
}