Eu tenho o mesmo procedimento para lidar no trabalho ao atualizar sites do Drupal. O maior problema é que o Drupal realmente não faz um ótimo trabalho em manter o conteúdo e a lógica separados em seu banco de dados.
As respostas fornecidas por Thomas Zagreddin e BetaRide seriam suficientes para oferecer a melhor chance de concluir a migração com êxito. Realmente não há santo graal sobre este assunto.
Gostaria de lhe dar uma dica de desenvolvimento, o que me poupa muitos problemas em manter nossos sites atualizados: tente manter sua lógica o máximo possível em seu código (módulos / temas). Por exemplo, tente evitar criar vistas o máximo possível. Às vezes você precisará, mas isso exigirá outra atualização do banco de dados ...
Use o Gerenciamento de controle de origem!
Se você conseguir manter tudo no código (é claro, você nem sempre poderá fazer isso), poderá simplesmente usar um SCM como Git , SubVersion ou Mercury para atualizar sua fonte e, na pior das hipóteses, reverter para um versão anterior da sua fonte, se a atualização não estiver funcionando conforme o planejado.
E, é claro, conforme abordado nas respostas anteriores: backup, backup, backup, backup ...