Alternativa para actualizar y migrar de Drupal 5 a Drupal 6

Migrar de Drupal 5 a Drupal 6 no es tan fácil y es que suele surgir varias complicaciones a la hora de actualizar la estructura y datos de la base de datos mysql cuando tenemos módulos de terceros.

El caso es que la mejor opción que he encontrado para migrar de una version a otra no es exáctamente como lo indican en el sitio web de Drupal o en el fichero UPGRADE.TXT del raiz del CMS sino que he tenido que modificar un poco la línea para que fuera satisfactorio.

  1. Primero tenemos que hacer copia de seguridad  exácta tanto del sistema de ficheros como de la base de datos.
  2. Copia nuestro sitio D5 a un entorno de pruebas, bien sea en nuestro servidor local, una carpeta diferente en el servidor de producción o en un subdominio por ejemplo.
  3. Ahora hacemos una copia de la base de datos original a una que nos sirva para las pruebas y no nos cargemos la original por si algo sale mal.
  4. Cambiamos la cadena de conexión de nuestro sitio de pruebas reemplazando la actual base de datos por la de pruebas o testeo.
  5. Comprobamos que nuestro sitio de pruebas funciona.
  6. Una vez se está ejecutando el sitio en modo de desarrollo, tenemos que poner el sitio en modo desconectado y cambiar el tema actual por uno por defecto que venga con drupal como por ejemplo el Garland y desactivar si están activadas la caché de páginas de la sección Rendimiento.
  7. En este paso si no tenemos actualizado el core del sitio y los módulos de tercero es la hora de hacerlo. Por lo tanto tenemos que descargar las últimas versiones de los modulos que tenemos instalados y la última versión del core. Además hay que comprobar si el módulo que tenemos instalado para D5 está disponible para D6, ya que algunos módulos dejan de mantenerse y quedan obsoletos.
  8. Si no teníamos actualizados los módulos y core entonces el procedimiento es el siguiente:
    - Desactivar los módulos de terceros.
    - Hacer copia de seguridad de los ficheros .setting.php, .htaccess y robots.txt si hemos incluidos nosotros instruccines nuevas.
    - Hacer copia de seguridad del directorio /sites/default/files donde estárá nuestros archivos propios.
    - Copiar los archivos que hemos descargado de la última versión del Core de D5 en el raiz de nuestro sitio reemplazando por tanto los anteriores.
    - Modificar el archivo setting.php añadiendo de nuevo la cadena de conexión. Si no lo hacemos un asistente te lo pedirá.
    - Ejecutar el update.php para actualizar el esquema y datos de las tablas del nuevo core.
    - Ahora copiamos las últimas versiones de los módulos de terceros al directorio /sites/default/modules pero sólo de aquellos en los que tendremos soporte en D6.
    - Activar ahora los modulos de terceros que habíamos desactivado previamente.
    - Ejecutar de nuevo el update.php para actualizar las tablas de los módulos de terceros. 
    - En este paso ya tendremos actualizado nuestro D5 por completo.
  9. Ahora descargamos la nueva versión de Drupal 6 y hacemos casi la misma operación que en el punto 8:
    - Desactivar los módulos de terceros.
    - Hacer copia de seguridad de los ficheros .setting.php, .htaccess y robots.txt si hemos incluidos nosotros instruccines nuevas.
    - Hacer copia de seguridad del directorio /sites/default/files donde estárá nuestros archivos propios.
    - Eliminamos los módulos de D5 del directorio /sites/default/modules/
    - Eliminamos los temas de D5 del directorio /sites/default/themes/
    - Eliminar los modulos de sistema Legacy y Drupal del directorio /modules ya que estos en D6 no existen.
    - Copiar los archivos que hemos descargado de la última versión del Core de D6 en el raiz de nuestro sitio reemplazando por tanto los anteriores.
    - Copiar el tema en su versión D6 al directorio /sites/default/themes/
    - Modificar el archivo setting.php añadiendo de nuevo la cadena de conexión. Si no lo hacemos un asistente te lo pedirá.
    - Ejecutar el update.php para actualizar el esquema y datos de las tablas del nuevo core.
    - Ahora descargamos y copiamos las últimas versiones de los módulos de terceros de D6 al directorio /sites/default/modules.
    - Activar ahora los modulos de terceros que habíamos desactivado previamente.
    - Ejecutar de nuevo el update.php para actualizar las tablas de los módulos de terceros. 
    - En este paso ya tendremos actualizado nuestro D6 por completo.
  10. Ya teneis actualizado vuestro Drupal a la versión 6. Ahora tendréis que configurar de nuevo aquellos módulos que tuvisteis que desistalar por errores en la actualización
  11. En el caso que sigais teniendo problemas con las actualizaciones de la base de datos con el update.php, desistalar todos los módulos e incluso eliminar sus tablas de las bases de datos siempre y cuando no tengan dependencias y posteriormente cuando tengamos ejecutando D6 instalar de nuevo los módulos.