Error Migrar proyecto de 1.2.8 a 2.7.1

Estoy intentando migrar un proyecto de una version vieja en toba 1.2.8 a la version nueva de toba 2.7.1

Ejecuto
toba proyecto migrar_toba –d 1.2.8 –h 2.7.1 –p sueldos -i desarrollo


Migración el proyecto ‘sueldos’ desde la versión 0.8.3 hacia la 2.7.1.

Versión 0.9.0

Migrando proyecto ‘sueldos’
.OK

Versión 0.9.1

Migrando proyecto ‘sueldos’
OK

Versión 1.0.0

Migrando proyecto ‘sueldos’
…SQLSTATE[42P01]: Undefined table: 7 ERROR: relation “apex_objeto_filtro” does not exist

ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_42P01
[MENSAJE]: ERROR: relation “apex_objeto_filtro” does not exist
[SQL EJECUTADA]: DELETE FROM apex_objeto_filtro WHERE
objeto_filtro_proyecto = ‘sueldos’

toba_error_db:
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_42P01
[MENSAJE]: ERROR: relation “apex_objeto_filtro” does not exist
[SQL EJECUTADA]: DELETE FROM apex_objeto_filtro WHERE objeto_filtro_proyecto = ‘sueldos’

[TRAZA]exception ‘toba_error_db’ with message ’
ERROR ejecutando SQL:
[CODIGO]: 7
[SQLSTATE]: db_42P01
[MENSAJE]: ERROR: relation “apex_objeto_filtro” does not exist
[SQL EJECUTADA]: DELETE FROM apex_objeto_filtro WHERE objeto_filtro_proyecto = ‘sueldos’
’ in C:\toba_2.7.1\php\lib\db\toba_db.php:302
Stack trace:
#0 C:\toba_2.7.1\php\modelo\migraciones\toba_migracion_1_0_0.php(714): toba_db->ejecutar(Array)
#1 [internal function]: toba_migracion_1_0_0->proyecto__eliminar_tablas_objetos_obsoletos()
#2 C:\toba_2.7.1\php\modelo\lib\toba_version.php(301): ReflectionMethod->invoke(Object(toba_migracion_1_0_0))
#3 C:\toba_2.7.1\php\modelo\toba_modelo_proyecto.php(2496): toba_version->ejecutar_migracion(‘proyecto’, Object(toba_modelo_p
royecto), NULL, Object(consola))
#4 C:\toba_2.7.1\php\modelo\lib\toba_modelo_elemento.php(28): toba_modelo_proyecto->migrar_version(Object(toba_version), fals
e, true)
#5 C:\toba_2.7.1\php\modelo\toba_modelo_proyecto.php(2487): toba_modelo_elemento->migrar_rango_versiones(Object(toba_version)
, Object(toba_version), false, true)
#6 C:\toba_2.7.1\php\consola\comandos\comando_proyecto.php(605): toba_modelo_proyecto->migrar_rango_versiones(Object(toba_ver
sion), Object(toba_version), false)
#7 C:\toba_2.7.1\php\consola\comandos\comando_proyecto.php(91): comando_proyecto->opcion__migrar_toba(NULL)
#8 C:\toba_2.7.1\php\consola\comando.php(54): comando_proyecto->ejecutar_opcion(‘opcion__migrar_…’, NULL)
#9 C:\toba_2.7.1\php\consola\consola.php(74): comando->procesar()
#10 C:\toba_2.7.1\php\consola\consola.php(51): consola->invocar_comando(‘proyecto’, Array)
#11 C:\toba_2.7.1\php\consola\run.php(32): consola->run(Array)
#12 {main}

Hola Pablo,

segun veo el problema es que la tabla apex_instancia tiene un valor viejo para el campo perteneciente a la version de toba, por eso esta intentando hacer migraciones que ya estan hechas, si estas en la 1.2.8 actualiza dicho campo con ese nro.

Por otro lado, me parece que estarias mejor con el comando toba proyecto importar que te migra el proyecto usando una instalacion extra, de dicha manera no corres riesgos en caso de que algo falle y te quedan ambas instalaciones para hacer una prueba en paralelo.

Como lo tenes vos, lo que te conviene hacer es:

  • Restaurar el backup de la instancia de toba
  • Modificar el nro de version en apex_instancia
  • Ejecutar la migracion nuevamente (con cualquiera de los esquemas)

Si no tenes backup, te salia mas barato hacerte un plazo fijo en australes :p…

  • Tenes que hacer el switch svn a la version 1.2.x
  • Regenerar la instancia
  • Hacer el backup
  • Iniciar desde el bloque anterior :slight_smile:

Saludos