OpenSense Labs: HowTo: Migrate Content from a CSV file to Drupal maintenance support plans 8

HowTo: Migrate Content from a CSV file to Drupal maintenance support plans 8
Gaurav
Mon, 08/27/2020 – 18:21

Upgrading involves shifting lots of files and content from one site to another. Although there are a number of modules to help you migrate to and in Drupal maintenance support plans, the process can turn out to be messy. 

Migration of content can have various meanings and the scope of file formats – JSON, CSV, spreadsheet or text files – is also important.

In this article, I am going to demonstrate the migration of taxonomy terms using CSV files to Drupal maintenance support plans 8. Thanks to Drupal maintenance support plans’s entity-based system, the process of migration is more or less similar for all kinds of entities. Once you master the migration process, you can easily migrate nodes, users, vocabularies and custom entity data.

You can use various modules for migration to Drupal maintenance support plans 8. 

Drupal maintenance support plans 8 core provides the Migrate and Migrate Drupal maintenance support plans modules which are useful when migrating from Drupal maintenance support plans 6/7 to Drupal maintenance support plans 8. In other cases, we have to use contributed modules. Install Migrate Plus which provides a powerful API for data migration from CSV and spreadsheets and is one of the foremost dependencies.

We will take a sample use case of the States list where our taxonomy terms will be the States’ list. Let’s get started.

Read Upgrade to Drupal maintenance support plans 8 | Complete Migration Guide

Installation

Download the Migrate Source CSV module and install it on your Drupal maintenance support plans website. Use Composer to install all the required dependencies.

composer require ‘drupal/migrate_source_csv:^2.2’

Enable the module from Extend menu or Drush Command. 

$ drush en migrate_tools

$ drush en migrate_source_csv

In this example, I am going to migrate the USA States data. I have already created a vocabulary as ‘States’ with fields Name (Default Field in Taxonomy) and State Code (the abbreviation).
 
Prepare a CSV file with Headers containing Fields Name and also add an ID field which will act as a unique identifier and can also be later used in migration in case States vocabulary is used by a reference field. Here is the CSV which I have prepared:
 

ID

State

Abbreviation

1

Alabama

AL

2

Alaska

AK

3

Arizona

AZ

4

California

CA

5

Colorado

CO

and so on.
 
Next and the most important step is to write a migration plugin which is a .yml file describing the mapping between data in CSV and Drupal maintenance support plans Fields. 
Here is the migration plugin which I wrote:

id: state_data
class: null
field_plugin_method: null
cck_plugin_method: null
migration_tags:
– ‘USA States’
migration_group: default
label: ‘State migration from CSV’
source:
plugin: csv
path: ‘public://USAStates.csv’
header_row_count: 1
keys:
– id
column_names:

id: id

title: state

abbreviation: abbreviation
process:
name: title
field_abbreviation: abbreviation
destination:
plugin: ‘entity:taxonomy_term’
default_bundle: state
migration_dependencies: null
I have provided a Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’. ID acts as a unique identifier for the migration process. Rest of keys mentioned above aren’t needed in this migration.
Other keys and their importance:
 
Migration Tags: These are displayed as a description in migration UI.
 
Migration Group: It is an important field in case you have various migration processes. I have used the default group for this migration.
 
Label: It is also a description field for the migration displayed in Migration UI.
 
Source: It is the important key and we provide type of plugin i.e CSV in our case, path of our CSV file, Header Row Count so that migration API is able to distinguish between Data and Labels, Key i.e the unique identifier in CSV file.
Next, we have a mapping of columns in CSV with temporary identifiers which are used in process key. Process key defines mapping with Drupal maintenance support plans field and a temporary identifier in format (Drupal maintenance support plans Field: Temporary Identifier).
 
Destination: This key is used to provide the target entity and bundle if any. Since we are migrating terms data so I have used ‘taxonomy_term’ and bundle ‘state’.
 

Once you have created the plugin, it is time to inform the system about. Migration plugin can be imported via Single Config Import menu (/admin/config/development/configuration/single/import). Paste your plugin with config type ‘Migration’ and press import.

Once you have imported the migration plugin you can run the migration process via UI or drush command.
UI: Go to /admin/structure/migrate and under the list migration menu, you can execute the migration process for the respective migration type.
Drush: Enter the drush command ‘drush mi state_data’ where state_data is the unique ID of the state’s migration.

Once the migration process is complete all the Terms are created and the abbreviation field is populated as well.

You can rollback, resume and stop migration from Migration UI as well in case something goes wrong or you have some extra data to migrate later on. 

In case you have to do any changes in Plugin after importing it, you will first have to export its config file from (admin/config/development/configuration/single/export) and then import it again. 
 
And it is done!

That is how you can migrate content from a CSV file to Drupal maintenance support plans 8. Drop a comment below in case of a query. 

blog banner

blog image

Blog Type

Tech

Is it a good read ?

On


Source: New feed

This article was republished from its original source.
Call Us: 1(800)730-2416

Pixeldust is a 20-year-old web development agency specializing in Drupal and WordPress and working with clients all over the country. With our best in class capabilities, we work with small businesses and fortune 500 companies alike. Give us a call at 1(800)730-2416 and let’s talk about your project.

FREE Drupal SEO Audit

Test your site below to see which issues need to be fixed. We will fix them and optimize your Drupal site 100% for Google and Bing. (Allow 30-60 seconds to gather data.)

Powered by

OpenSense Labs: HowTo: Migrate Content from a CSV file to Drupal maintenance support plans 8

On-Site Drupal SEO Master Setup

We make sure your site is 100% optimized (and stays that way) for the best SEO results.

With Pixeldust On-site (or On-page) SEO we make changes to your site’s structure and performance to make it easier for search engines to see and understand your site’s content. Search engines use algorithms to rank sites by degrees of relevance. Our on-site optimization ensures your site is configured to provide information in a way that meets Google and Bing standards for optimal indexing.

This service includes:

  • Pathauto install and configuration for SEO-friendly URLs.
  • Meta Tags install and configuration with dynamic tokens for meta titles and descriptions for all content types.
  • Install and fix all issues on the SEO checklist module.
  • Install and configure XML sitemap module and submit sitemaps.
  • Install and configure Google Analytics Module.
  • Install and configure Yoast.
  • Install and configure the Advanced Aggregation module to improve performance by minifying and merging CSS and JS.
  • Install and configure Schema.org Metatag.
  • Configure robots.txt.
  • Google Search Console setup snd configuration.
  • Find & Fix H1 tags.
  • Find and fix duplicate/missing meta descriptions.
  • Find and fix duplicate title tags.
  • Improve title, meta tags, and site descriptions.
  • Optimize images for better search engine optimization. Automate where possible.
  • Find and fix the missing alt and title tag for all images. Automate where possible.
  • The project takes 1 week to complete.