Skip to content

Technical Migration D8

Christopher Bloom edited this page May 23, 2016 · 4 revisions

Most of this is outdated. See README.md at root for updated instructions.

Approach

Using migrate, migrate_upgrade, migrate_tools, migrate_plus and this guide: https://www.drupal.org/node/2257723

Useful commands

D6 complete file sync from remote to local, from within Vagrant box (requires SSH password):

cd /var/www/df/web/d6
rsync -zvrP [email protected]:webapps/downfall_drupal/ ./

DB dump from hosting webfaction/webapps/downfall_drupal/sites/www.downfallguild.org:

drush sql-dump --result-file --gzip` (saves dump to webfaction/drush-backups/illepic_downfall)

Important links

Repository Explanation

Folder structure:

  • env - Holds the Vagrant box. Run Vagrant commands from here
  • project- Vagrant shared directory
    • build - Custom written code goes here
      • dev
        • d6, d7, d8 - Drupal specific custom code
    • web - Auto builds go here, roots of sites served below
      • drupal
        • d6
        • d8
  • redesign - patternlab work

Databases

  • D6: see config.yaml
  • D8: see config.yaml

How to sync databases from remote?

Files

Rsync all files down into local d6 site:

cd /var/www/df/web/d6
rsync -zvrP [email protected]:webapps/downfall_drupal/ ./

D8 Migration

Symlink from web to build:

cd project/web/drupal/d8/modules/
ln -s ../../../../build/dev/d8/modules/custom custom

Enable migrate, migrate_plus, migrate_upgrade, migrate_tools

drush en migrate migrate_plus migrate_upgrade migrate_tools -y

Set up first migrate analysis

drush migrate-upgrade --legacy-db-url="mysql://dfdbuser:[email protected]/downfall_d6" --legacy-db-prefix="demo_" --legacy-root="http://d6.local.downfallguild.org" --configure-only

D8 Import in the following order:

  • d6_filter_format // NOTE: stop here and delete/dupes and resave all to remove dead filters
  • d6_user_role
  • user_picture_file
  • user_picture_field
  • user_picture_field_instance
  • user_picture_entity_display
  • user_picture_entity_form_display
  • d6_user // All user picture fields must come before user import
  • user_profile_field
  • user_profile_field_instance
  • user_profile_entity_display
  • user_profile_entity_form_display
  • d6_profile_values
  • d6_file
  • d6_imagecache_presets (Work with the order here around getting images to show correctly)
  • d6_taxonomy_vocabulary
  • d6_taxonomy_term
  • d6_node_type
  • d6_node_settings
  • d6_view_modes
  • d6_field
  • d6_field_instance
  • d6_field_instance_widget_settings
  • d6_field_formatter_settings
  • d6_upload_field
  • d6_upload_field_instance
  • d6_comment_type
  • d6_comment_field
  • d6_comment_field_instance
  • d6_node__image
  • d6_node_revision__image
  • d6_node_blog
  • d6_nod_revision__blog