It's time to talk about upgrading from Drupal 6 to Drupal 7 since Drupal 8 is just at the front door.
Condition: there is no custom modules that is messing around the fields, the nodes and the db. (We will need to uninstall them anyway)
OK Let's start upgrading:
- Have the prod drupal 6 db and site working in your dev site.
- Disable all contrib modules and your custom modules.
- Change the theme to Garland.
- Set the site offline in site maintenance.
- drush up to 6.31 / copy d6.31 files to the codebase and run update.php. (Currently the latest d6 version is 6.31, you may need to upgrade to another version when you read this)
- I guess it is time to mysqldump the db.
- Download the latest D7 version.
- Copy everything (don't forget the .htaccess file) except the sites folder in the drupal-7.xx directory to your site root.
- Delete the include/database.inc file.
- drush updatedb or run update.php.
- Go to your database, run update block set visibility = 1 where module = 'system' and delta = 'main'. Then your content block should be showing.
- drush cc all.
- Now your core should be in D7, let's dump the db.
- Change the theme to Bartik and the admin theme to Seven.
When you finish upgrading, you may find your cck fields have all gone, don't panic:
- Install cck d7 module.
- Install/enable email, file, list, number, viewfield D7 modules.
- Dump the db just in case.
- Visit admin/structure/content_migrate.
- Click ‘migrate selected fields.
Your fields should be back now. Happy? not quite finish yet:
- Install features module, create the feature for your d7 site.
- Put the codebase back to your prod server.
- Export and import the db to your prod server.
Now you should be happy. Then you can go find a d7 module to port to d8 ......