Actualizar Moodle de 1.9.* a 3.*

Nada es tan dificil como parece, ni tan facil como se cree.

En este caso vamos a mostrar una migración realziada recientemente de un moodle bastante viejo, que estaba en la versión 1.9.

Para hacer un desglose de como funciona las actualizaciones de moodle, diremos que cada vesion que se actualzia es independiente de la anterior, es decir, que nuestra nueva version la podemos bajar, descomprimir y añadiendo solamente dos carpetas que contienen los datos importantes de moodle, podremos actualizar nuestro moodle.

Muy facil hasta aqui, pero ahora llegan los incovenientes, no todos las extensiones y modulos son compatibles con las nuevas vesiones de nuestro moodle, para poder solverntar este problema podremos o actualziar la extensión o borrarla.

Despues de esta breve descripcion, pasamos a la parte tecnica, en nuestro caso hemos usado esta estructura.

  • De 1.9.19 pasamos a 2.0.10
  • De 2.0.10 pasamos a 2.2.11
  • De 2.2.11 pasamos a 2.3.11
  • De 2.3.11 pasamos a 2.8.12
  • De 2.8.12 pasamos a 3.2.2

 

Aquí podréis descargar todas las versiones que necesitéis para actualizar, todas las versiones

Los grandes cambios importantes son que a partir de la 1.9 unas extensiones no seran compatibles, los actualizamos y no tenemos ningun problema hasta la version 2.8. Que para pasar a las versiones 3.* y superiores nos pide que cambiemos el núcleo de nuestro base de datos de MyISAM a InnoDB, y es donde viene la mayor dificultad, también nos pide que para poder migrar a versiones 3.* nuestro moodle debe ser como mínimo una versión 2.7

 

Con este script en php, migamos nuestra base de datos de MyISAM a InnoDB

//connection to the database
$con=mysqli_connect("localhost","user","pass","database");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_databese'
AND ENGINE = 'MyISAM'";

$rs = mysqli_query($con, $sql);

while($row = mysqli_fetch_array($rs))
{
$tbl = $row[0];
$sql = "ALTER TABLE `$tbl` ENGINE=INNODB";
mysqli_query($con, $sql);

}

 

2 thoughts on “Actualizar Moodle de 1.9.* a 3.*

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *