The following is summarized/copied from the article Direct Drupal 5 to Drupal 7 Migration in 24hrs:
- Install a clean Drupal 7 site, clean database.
You have to start somewhere, so download Drupal 7 RC2 along with essential modules for your site: Views (and CTools), Webform, WYSIWYG, Mollom, and Devel.
- Rebuild the basics.
This includes building out Taxonomy vocabularies, Content types, and all the fields on those types. Fortunately with modules like Select options, ImageField, and FileField built into core, this goes much quicker than you might expect.
- Scale back unneeded modules.
Date, Link >> simple text fields using the now-provided core Text module. Other things that made sense (in original author’s case) included converting Upload module to D7’s File into a “field_files” field. More on that in step 6.
- Throw away your theme.
API differences in the theme layer make existing tpl.php files pretty much worthless.
- Write a custom upgrade module.
The biggest step in moving from D5 to D7 like this is getting everything that can’t be rebuilt manually (like content, files, and comments) over to the new site. Can use Batch API to migrate existing nodes and comments to the new site. Basic idea – D7 access to two databases in settings.php, “default” and “legacy”. This module would manually select data from the D5 (legacy) site, construct nodes, files, comments, etc. into objects and call node_save() D7 db, thus letting Drupal do the work. (see module in source link).
- Rebuild your Views.
Views 1 (D5) >> Views 2 (D6) has tool to reconstruct, but Views 3 (D7) may not work.
- Work through the bugs.
D7 still work in progress – be aware of conflicts with modules (see source for example issue with Views)