У меня есть такая же процедура для работы при обновлении сайтов Drupal. Самая большая проблема в том, что Drupal не очень хорошо справляется с разделением контента и логики в своей базе данных.
Ответов Томаса Загреддина и BetaRide будет достаточно, чтобы дать вам лучший шанс для успешного завершения миграции. Там действительно нет святого Грааля на эту тему.
Однако я хотел бы дать вам совет по разработке, который избавит меня от многих проблем при обновлении наших веб-сайтов: постарайтесь максимально сохранить логику в своем коде (модули / темы). Мол, старайтесь избегать создания просмотров как можно больше. Иногда вам придется, но это потребует другого обновления базы данных ...
Используйте управление исходным кодом!
Если вы можете сохранить все до кода (конечно, вы не всегда сможете это сделать), вы можете просто использовать SCM, такой как Git , SubVersion или Mercury, чтобы обновить ваш источник, и в худшем случае вернуться к предыдущая версия вашего источника, если ваше обновление не работает, как планировалось.
И, конечно же, как указано в предыдущих ответах: резервное копирование, резервное копирование, резервное копирование, резервное копирование ...