Typically when migrating content, drush is your friend. Drush commands are provided for managing the migration process. Individual migrations can be imported and then rolled back. Running processes can be cleanly interrupted, individual source records can be migrated on their own, and performance can be instrumented.
drush help --filter=migrate provides a complete list of relevant commands.
|migrate-analyze (maz)||Analyze the source fields for a migration.|
|migrate-audit (ma)||View information on problems in a migration.|
|migrate-register (mreg)||Register or re-register any statically defined migrations.|
|migrate-deregister||Remove all tracking of a migration|
|migrate-fields-destination (mfd)||List the fields available for mapping in a destination.|
|migrate-fields-source (mfs)||List the fields available for mapping from a source.|
|migrate-import (mi)||Perform one or more migration processes|
|migrate-mappings (mm)||View information on all field mappings in a migration.|
|migrate-messages (mmsg)||View any messages associated with a migration.|
|migrate-reset-status (mrs)||Reset a active migration's status to idle|
|migrate-rollback (mr)||Roll back the destination objects from a given migration|
|migrate-status (ms)||List all migrations with current status.|
|migrate-stop (mst)||Stop an active migration operation|
|migrate-wipe (mw)||Delete all nodes from specified content types.|
For examples on the options type:
drush help <command>
drush mi --help
Import new articles
migrate-import Article --update
Import new items, and also update previously-imported items
migrate-import Article --idlist=4,9
Import two specific articles. The ids refer to the value of the primary key in base table.
This allows you to cherry-pick specific, individual source records to migrate (so you don't have to sit through an entire migration whilst debugging) with, for example:
drush mi LibraryDocument --idlist=48,52,108 to pull in only items with ids 48,52, and 108
migrate-import Article --limit="60 seconds" --stop --rollback
Import for up to 60 seconds after stopping and rolling back the Article migration.
migrate-import Article --limit="100 items"
Import up to 100 items from the migration named Article.
migrate-import User --feedback="1000 items"
Display a progress message every 1000 processed items or less
Perform User migrations and all that follow it.
Name of migration(s) to import. Delimit multiple using commas.
Process all migrations that come after the specified migration. If no value is supplied, all migrations are processed.
Frequency of progress messages, in seconds or items processed
Override file function to use when migrating images.
Force an operation to run, even if all dependencies are not satisfied
Name of the migration group to run
A comma delimited list of ids to import or rollback. If unspecified, migrate imports all pending items or rolls back all items for the content set.
Capture performance information (timer, memory, or all)
Limit on the length of each migration process, expressed in seconds or number of items
Reimport up to 10K records where needs_update=1. This option is only needed when your Drupal DB is on a different DB server from your source data. Otherwise, these records get migrated with just migrate-import.
Rollback specified migration(s) if applicable.
Stop specified migration(s) if applicable.
In addition to processing unimported items from the source, update previously-imported items with new data
You need to run drush from the directory where the Drupal site is installed.
See also: Drush helps reliable migrate performance by eliminating timeouts and other limitations.