Tengo el mismo procedimiento que manejar en el trabajo cuando actualizo los sitios web de Drupal. El mayor problema es que Drupal realmente no hace un gran trabajo al mantener separados el contenido y las lógicas en su base de datos.
Las respuestas dadas por Thomas Zagreddin y BetaRide serían suficientes para darle la mejor oportunidad de completar la migración con éxito. Realmente no hay santo grial sobre este tema.
Sin embargo, me gustaría darle un consejo de desarrollo que me ahorra muchos problemas para mantener nuestros sitios web actualizados: trate de mantener sus lógicas tanto como sea posible en su código (módulos / temas). Por ejemplo, trate de evitar crear vistas tanto como sea posible. A veces tendrá que hacerlo, pero eso requerirá otra actualización de la base de datos ...
Utilice la gestión de control de fuente!
Si puede mantener todo bajo el código (por supuesto, no siempre podrá hacer esto), simplemente puede usar un SCM como Git , SubVersion o Mercury para actualizar su fuente, y en el peor de los casos volver a un versión anterior de su fuente si su actualización no funciona según lo planeado.
Y, por supuesto, como se aborda en las respuestas anteriores: copia de seguridad, copia de seguridad, copia de seguridad, copia de seguridad ...