Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a service to efficiently update fields on Drupal entities by copying values from one or more source fields to a target field. It allows you to configure these mappings through Drupal's administrative interface for easy management and supports multi-language content.

The easiest and fastest way to update fields in Drupal. Provides a batch processing service to copy values from one or more field sources to a target field.

Features

  • Field mappings handled via configuration entities: entity_type, bundle, field_target, mappings
  • Service to batch update field value based on configuration
  • Can map to ANY field type from multiple field source values from the same entity.
  • Supports custom default input and explicit NULL for values.
  • Multi-lingual support.
  • Reference fields (entity_reference & entity_reference_revisions) supported as a field mapping source.
  • Eligible field mappings matched by target field schema.

Quick start

  1. Add a new field updater at /admin/config/field-updater
  2. Select: Entity type, Bundle, and Target field
  3. Select: Entity reference (if applicable) as the Field mappings source if you want to copy values from an entity_reference_revisions or entity_reference field type.
  4. Save the form and add mappings for the source.
  5. Copy content from Source to Target with drush field-updater:update
  6. Enter the number (#) of the field updater instance, and type "yes" when prompted.
  7. Copy example update hook from drush result to your own custom module's .install file for easy deployment to other environments.

Drush commands
drush field-updater:list - return a list of available updaters
drush field-updater:update - This drush command will prompt for available updater entities to select and provide example update hook upon completion of running the service.

Example Update Hook

/**
 * Runs the FieldUpdaterService for the 'update_field_tags' config entity.
 */
function my_module_update_10001() {
  // Get the FieldUpdaterService.
  $updater_service = \Drupal::service('field_updater_service.updater');
  $updater_service->updateEntities('update_field_tags');
}

Custom Field - This module is an optimized alternative to paragraphs & blocks and field_updater module will provide the ability to copy existing values from other fields to this field type.

Similar projects

Bulk Update Fields - Designed to work with views as an action. Our module is simpler in scope and allows to define the mappings in separate configuration entities that can be run via update hooks and Drush commands by simply passing the config id as an argument.

Feeds - The feeds module provides functionality to import data from various sources to create new entities or update existing entities from data source based on a unique mapping id. The field_updater_service module will however fill the gap of being able to update fields from already existing values on the same entity and eliminate the need for complex update hooks to handle the batch processing.

Activity

Total releases
4
First release
Mar 2025
Latest release
1 day ago
Releases (12 mo)
1 ▼ from 3
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.0 Stable Jul 16, 2026
1.0.0-beta2 Pre-release Jun 30, 2025
1.0.0-beta1 Pre-release Mar 25, 2025
1.0.x-dev Dev Mar 25, 2025