Upgrade notes for arf.berkeley.edu, a Drupal 6 => Backdrop CMS upgrade.
Upgrade accomplished: Feb 5th, 2018
- Export a clean database from the production site.
drush7 sql-dump --gzip --result-file=prod.sql.gz
- Import a database, as exported from production site.
gunzip -c prod.sql.gz | drush7 sqlc
drush7 sqlq 'TRUNCATE access; TRUNCATE cache; TRUNCATE cache_block; TRUNCATE cache_content; TRUNCATE cache_filter; TRUNCATE cache_form; TRUNCATE cache_menu; TRUNCATE cache_page; TRUNCATE cache_views; TRUNCATE cache_views_data; TRUNCATE history; TRUNCATE node_comment_statistics; TRUNCATE search_index; TRUNCATE search_dataset; TRUNCATE search_node_links; TRUNCATE search_total; TRUNCATE watchdog;'
- Enable the acr update module, and update.
drush7 -y en arf_upgrade
drush7 -y updb
- Disables / uninstalls unneeded or legacy modules
- Deletes unneeded custom blocks
- Enables garland theme and sets as default
- Disables all caching
- Export the database, ready for import into Drupal 7.
drush7 sql-dump > d6.sql
=================================================
- Import the Drupal 6 database, generated in the previous step.
drush7 sql-drop -y
gunzip -c d6.sql.gz | drush7 sqlc
drush7 updb -y
- Removes old unused modules from the system table.
- Converts emfield (d6) values to YouTube (d7) values.
- Needs to be run before field conversion.
- Enables bartik/seven themes.
drush7 en contextual file field_group image update cck content_migrate references node_reference bartik -y
- Migrate all fields from CCK.
# Let's see what's going to change.
drush7 content-migrate-status
# Run it.
drush7 content-migrate-fields -y
# Validation.
drush7 content-migrate-status
- Disable / Uninstall the modules we won't be needing.
drush7 dis cck content_migrate -y
drush7 pm-uninstall cck content_migrate -y
drush7 rr
- Export the database, ready for import into Backdrop CMS.
drush7 sql-dump > d7.sql
=================================================
- Delete all files in active directory (ready for upgrade)
- Ensure files have been copied and committed to staging directory.
- Import the Drupal 7 database, generated in the step previous.
drush sql-drop -y
gunzip -c ../../d7.sql.gz | drush sqlc
- Make sure that update free access is enabled in settings.local.php
$settings['update_free_access'] = TRUE;
- Run update.php (171 pending updates)
- This update works when run from the UI even if it fails from drush.
drush updb -y
- custom: caption filter markup (d6) => data attributes (backdrop core)
- custom: profile nodes => user account (fields)
- It's easier to add these fields in Backdrop than D7, cause config sync.
- Enable new contrib modules
drush en -y
- Log into the site as the root user Admin.
- Enable custom, core, and submodules (manually - until they will enable with drush)
- ckeditor
- contextual
- redirect
- update
- views_ui
- bgp_blocks
- bgp_views
- bgp_api
- bgp_quinstreet
- jeneration
- flexslider_views
- metatag_verify
- smtp
drush en ckeditor contextual redirect update views_ui bgp_blocks bgp_views bgp_api bgp_quinstreet jeneration -y
- Navigate to admin/config/development/configuration
- Sync with "completed" config already in /staging/ directory
- Navigate to admin/config/metadata/metatags/config
- Enable Global
- Enable Content
- Enable Taxonomy term
- Enable Home page
- Edit Home page:
- Set Bing: 08D15ABFD61ED9A98F41F3C0FC5078D0
- Set google: WVe5slAvly494IKHI1lFCW-RauN1xlOG2Opbb7E-svY
- disable and uninstall the ACR Update module
drush dis acrupdate -y
drush pm-uninstall acrupdate -y