drush migrate-upgrade --legacy-root=http://data.agaric.com --configure-only
drush mr --all
1 * #Entities
+ 2 * #Fields
= Migration Complexity
You're not going to migrate in your schema that you had in Drupal 7 or 6 or Joomla...disco insolence, Solvognen’s Tangle Of Wires
...you'll build it exactly as you want it in Drupal 8.Les Lim
Migrate module is using a more general process called extract, transform, and load, or ETL.Brad Lowry
Migration is an Extract, Transform, Load (ETL) process. For historical reasons, in the Drupal migration tool the extract phase is called "source", the transform phase is called "process", and the load phase is called "destination". Migration API
agaric_migrate.info.yml
:
type: module name: Agaric Migrate description: "Migrate from Agaric's Drupal 7 site to its new Agaric 8 site." package: Migrate core: 8.x dependencies: - migrate - migrate_plus
For more complex processing, you can add process plugins.
In a file like src/Plugin/migrate/process/NerdUserRoles.php
You start out with:
namespace Drupal\nerdcustom\Plugin\migrate\process; use Drupal\migrate\ProcessPluginBase; use Drupal\migrate\MigrateExecutableInterface; use Drupal\migrate\Row;github.com/stevector/nerdologues-d8
/** * This plugin maps old roles to new roles. * * @MigrateProcessPlugin( * id = "nerd_user_roles" * ) */ class NerdUserRoles extends ProcessPluginBase { /** * {@inheritdoc} */ public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { if ($value == 3) { return 'administrator'; } elseif ($value == 4) { return 'content_administrator'; } } }
Cory Doctorow, "The coming civil war over general purpose computing"