Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Views Bootstrap 5.5.4 — Minor update available for module views_bootstrap (5.5.4). Release: Download Tracker 1.0.7 — Minor update available for module download_tracker (1.0.7). Release: Directory2Block Slideshow 1.0.8 — Minor update available for module directory2block_slideshow (1.0.8). Release: Mautic Audiences 1.1.5 — Minor update available for module mautic_audiences (1.1.5). Release: Rightup theme 1.0.3 — Minor update available for theme vartheme_bs5_rightup (1.0.3). Release: CommentOn 1.0.6 — Minor update available for module commenton (1.0.6). Release: ChatGPT Ads 1.0.3 — Minor update available for module chatgpt_ads (1.0.3). Release: Opensolr Search 5.1.3 — Minor update available for module opensolr_search (5.1.3). Module Revived: Swagger-PHP OpenAPI 3 documentation generator 1.0.0 — Module swagger_php updated after 10 months of inactivity (1.0.0). Security Coverage: Microsoft Azure AI — Module ai_provider_azure now has official Drupal security advisory coverage.

This migration source plugin extends the Migrate Source CSV plugin to provide for a virtual key in the migration. The virtual key field SHOULD NOT exist in the source CSV file and is constructed by combining one or more columns from the CSV file.

Features

When a CSV file does not contain a unique column that can be used for the key, we would generally construct a composite key by creating a sequence of column names in the ids field of the migration YAML.
For e.g.
Suppose we have a CVS file that has the following columns:

"First Name","Middle Name","Last Name","Degree","Specialties","NPI"

We could define the key for a row based on the record_number_field value or something like this:

source:
  plugin: csv
  ids:
    - 'Last Name'
    - 'First Name'
    - NPI

The problems with this approach are:
1. In the migration lookup table, we have multiple source columns created to uniquely identify a row (in this case, 3 source columns). If we add to or remove a composite column from the ids, and run migrations again, it throws an error.
2. We cannot set a default value if a column is empty. In the example above, if NPI is empty, we cannot set it to 0

This module attempts to resolve the above shortcomings by:
1. Keep a single source key column in the migration lookup table. A virtual key is generated by combining columns.
2. A default value can be used in the key part if a column is empty

With this plugin, you can do this:

source:
  plugin: virtual_key_csv
  ids:
    - key
  virtual_key_fields:
    - 'Last Name'
    - 'First Name'
    - NPI
  virtual_key_default_values:
    NPI: 0

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Mar 2024
Latest release
2 years ago
Releases (12 mo)
0
Maintenance
Dormant

Releases

Version Type Core Release date
1.0.0 Stable Mar 10, 2024