Alternativa para actualizar y migrar de Drupal 5 a Drupal 6
Enviado por Jairo el Dom, 05/06/2011 - 09:25
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.
- Primero tenemos que hacer copia de seguridad exácta tanto del sistema de ficheros como de la base de datos.
- 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.
- 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.
- Cambiamos la cadena de conexión de nuestro sitio de pruebas reemplazando la actual base de datos por la de pruebas o testeo.
- Comprobamos que nuestro sitio de pruebas funciona.
- 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.
- 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.
- 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. - 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. - 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
- 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.