Saludos.
Comparto esta situación y la solución:
Los pasos generales fueron:
1) Crear del escenario de producción en una máquina nueva con el MySql 5 y el PHP4
2) Migrar la migración de 1.5.2 -> 1.6.1
3) Ajustes de la migración de prueba.
4) Documentación del proceso.
5) Migración del servidor de producción.
Tengo que realizar la migración del servidor Moodle de mi Universidad de la versión 1.5.2 (2005060220) a la 1.6.1. Este nuevo servidor tendrá una IP diferente del anterior así como posiciones diferentes para el directorio moodle y moodledata.
En el servidor viejo las características eran:
- IpServidor: 192.168.0.100
- Moodle: /usr/moodle/MoodleViejo
- MoodleData: /usr/moodledataviejo
Hice un respaldo total de la base de datos DbMoodleViejo en un script llamado db.sql con el siguiente comando:
#mysqldump -u UsuarioDeLaBd -p -C -Q -e -a DbMoodleViejo > db.sql
Para crear el escenario de prueba antes de la migración, en otra máquina con MySql 5 y PHP Version 5.1.2 las características son:
- IpServidorPrueba: 10.10.10.100
- Moodle viejo en: /var/www/MoodleNuevo
- MoodleDataViejo en: /var/MoodleDataNuevo
- BaseDeDatos en: /root/bd.sql
Dado que las rutas en el servidor de prueba son diferentes a las establecidas en el servidor de producción, para evitar enlaces rotos sustituí las cadenas de texto correspondientes en el archivo bd.sql con un programa llamado "nano" (editor de textos en GNU/Linux":
#nano db.sql
- Buscar "192.168.0.100" y sustituir por "10.10.10.100" en todo el script.
- Buscar "/usr/moodle/MoodleViejo" y sustituir por "var/www/MoodleNuevo" en todo el script.
- Buscar "/usr/moodledataviejo" y sustituir por "/var/MoodleDataNuevo" en todo el script.
Guardé el script como bd-modificado.sql y lo cargué en una base de datos nueva en el servidor de pruebas:
#mysql BdPrueba < bd-modificado.sql
Luego edité el archivo config.php con los nuevos valores. También cree un usuario nuevo para acceder la base de datos BdNueva.
Cuando probé el escenario, me di cuenta que todo estaba bien excepto porque en los foros de todos los cursos que existían NO APARECÍAN LOS POSTS.
Luego de mucho pelear con la codificación busqué apoyo en el foro en español pero no tuve suerte. Decidí entonces irme al otro lado del continente y busqué en el foro en inglés.....SORPRESA!..a alquien le pasó algo similar y consistía en que cuando se usa la versión de MySQL 5 para el 1.5.2, requiere de un cambio en el archivo /MoodleNuevo/mod/forum/lib.php en las líneas 1296 y 1298 agregando unos paréntesis. Las líneas quedarían como sigue:
1296 FROM ({$CFG->prefix}forum_discussions d,
1297 {$CFG->prefix}forum_posts p,
1298 {$CFG->prefix}user u )
El link donde me apoyé para este cambio es:
http://moodle.org/mod/forum/discuss.php?d=25918
Luego de este cambio, aparecieron los POSTS en los foros.
El siguiente paso es simular la migración, así que estaré actualizando este POST próximamente.
Cosas de Desarrolladores
Experiencia migración: MySQL4 -> MySQL5
Este hilo de discusión ha sido cerrado por lo que no admite respuestas.