示例#1
0
 function ejecutar_ventana_migracion_version($con_transaccion = true)
 {
     toba_logger::instancia()->debug('Ejecutando ventana de migracion de instancia');
     $path_migracion_instancia = toba_dir() . '/php/modelo/migraciones_instancia';
     //Armo la ubicacion en donde se hallan los pasos de migracion de la instancia
     $version_actual = new toba_version($this->get_version_actual());
     //Recupero la version de la instancia existente
     $actual_codigo = new toba_version(toba_modelo_instalacion::get_version_actual());
     //Recupero la version actual del codigo instalado
     $version_actual->set_path_migraciones($path_migracion_instancia);
     //Cambio el path a las migraciones por defecto
     $versiones = $version_actual->get_secuencia_migraciones($actual_codigo, $path_migracion_instancia);
     //Calculo cuales son los pasos a dar
     if (empty($versiones)) {
         return;
     }
     foreach (array_keys($versiones) as $version) {
         $versiones[$version]->set_path_migraciones($path_migracion_instancia);
         //Hago la migracion para cada version intermedia
         $this->migrar_version($versiones[$version], false, $con_transaccion);
     }
 }
示例#2
0
 function test_sin_migracion()
 {
     $desde = new toba_version("0.1.10");
     $hasta = new toba_version("0.10.0");
     $versiones = $desde->get_secuencia_migraciones($hasta, $this->path_migraciones());
     $this->assertEqual(count($versiones), 0);
 }