Last updated 4 April 2015. Created on 17 October 2014.
Edited by almaudoh, phenaproxima, webchick, cilefen. Log in to edit this page.

The Drupal Module Upgrader is a Drush command that helps you update your modules from Drupal 7 to Drupal 8.

Neo from the Matrix going, 'woah.'Indeed, Neo.

Drupal Module Upgrader, or DMU from here on in, has two main modes of operation:

Analyze mode (drush dmu-analyze MODULE_NAME)
In this mode, DMU will scan your Drupal 7 module and look for things that need to be changed in order to port the module to Drupal 8, and generate a nice-looking report that outlines the required changes and links off to the relevant API change records in each case that tell you how to do the port yourself.
Upgrade mode (drush dmu-upgrade MODULE_NAME)
In upgrade mode, DMU will try to convert as much of your module to Drupal 8 as it can. The module code will be upgraded in place, so for example .info files converted to .info.yml, hook_menu() converted to controllers, etc. The goal is not to get the module 100% working, but rather to save you a ton of time on any D7 => D8 module port. However, in some cases it can get you far enough along that you can turn the module on and perhaps even see some basic things working (such as settings forms and blocks)!

NOTE: It is highly recommended that if you're brand new to Drupal 8 you run DMU in analyze mode only at first, and try and fix the things yourself manually. You'll be able to read the background behind many of the changes in D8, learn a lot about D8 in the process, and it will make future module porting much easier.

DMU supports converting Drupal 7 modules to Drupal 8 only. There are no plans to support Drupal 6 modules. To convert module code from Drupal 6 to Drupal 7, see the Coder Upgrade project.


DMU is a Drush command for Drupal 8, so you will need Drush 7.x and Composer. Download DMU and install it like any normal module, then run composer install from within the DMU directory to install dependencies. (If you're using Composer Manager, you'll want to run drush composer-manager install instead.)

Or, if you're that whole blurb reeks of effort and you just want to copy/paste some stuff:

cd /PATH_TO_DRUPAL_8_WEB_ROOT/modules/
drush dl drupalmoduleupgrader
cd drupalmoduleupgrader
composer install
drush en drupalmoduleupgrader -y

Analyzing a Drupal 7 module

Move the Drupal 7 module into your Drupal 8 root (in the modules directory). Then run drush dmu-analyze MODULE_NAME.

If all goes well, a report will be generated in the module's directory, called upgrade-info.html. Open that and peruse at your leisure :)

Upgrading a Drupal 7 module

Same deal, except run drush dmu-upgrade MODULE_NAME instead. Your module's code will be updated in-place: git add . ; git diff --cached to see what it changed.

If desired, you can also run drush dmu-clean MODULE_NAME and this will delete any old D7 code that was already ported (e.g. your old .info file), providing the DMU conversion plugin supports a cleanup operation.

Looking for support? Visit the forums, or join #drupal-support in IRC.