Community Documentation

Upgrading contributed modules and themes from Drupal 6 to Drupal 7

Last updated November 29, 2012. Created by nirbhasa on October 21, 2010.
Edited by mwadi, wmostrey, olafveerman, joachim. Log in to edit this page.

First perform the core upgrade as described in the UPGRADE.txt file. Then you can update and re-enable your non-core modules by following these steps:

  1. Check your notes, and the UPGRADE.txt files inside each module, to see if any special upgrade instructions apply
  2. Fully remove the old module directory inside sites/all/modules/
  3. Download, unpack and move the new module directory to sites/all/modules/
  4. Enable the module
  5. Run update.php again (you should have run it once already when upgrading core) and check for any message output.
  6. Back up your database and files again, between each module update, so that if there is a problem, you can revert to the most recent update.

If you have errors when you run the update.php script:

  • Note any error messages you see.
  • Restore your site to its previous state, using the file and database backups you created before you started the upgrade or update process. Do not attempt to do further updates or upgrades on a site that had update problems.
  • Consult one of the support options listed on http://drupal.org/support.

If you have a Drupal 7 version of the theme you were using for Drupal 6, place it in sites/all/themes/ and reenable it.

For documentation on converting module code from Drupal 6 to 7, see the section on updating your modules.

Comments

Using Drush Site Upgrade

Before I arrived at this point, I noticed how difficult it can be to automate the disabling of non-core modules and themes, until I found out about the Drush Site Upgrade extension. I hope this link is helpful to some of you.

Page status

Needs copy/style review

Log in to edit this page

About this page

Drupal version
Drupal 7.x
Audience
Site administrators
Level
Intermediate
Drupal’s online documentation is © 2000-2013 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License. Comments on documentation pages are used to improve content and then deleted.