Migración de proyecto de Toba 2.7 a Toba 3

Buenas, estoy tratando de revivir un proyecto que quedó en Toba 2.7 y migrarlo a Toba 3.4. Sigo las indicaciones del README de github pero estoy bloqueado en el comando importar.

El error que obtengo es en el SQL

 ERROR ejecutando SQL:                                                         
  [CODIGO]: 7          
  [SQLSTATE]: db_42703            
  [MENSAJE]: ERROR:  column "editor_config_file" of relation "apex_objeto_ei_formulario_ef" does not exist                                                     
 LINE 167: ...tado, editor_ancho, editor_alto, editor_botonera, editor_con...                                                                                  
                                                                ^                                                                                              
  [SQL EJECUTADA]: ------------------------------------------------------------                                                                                

Este error solo aparece en el foro (hasta donde encontré) en un hilo sobre migración de Kolla.

Lo que tengo es Toba 2.7 instalado y funcional con el proyecto instalado “a la antigua” (con el proyecto en el directorio <TOBA_DIR>/proyectos/PROYECTO. En paralelo quiero generar la nueva versión con composer y migrarlo.

Creo haber ejecutado bien la secuencia de comandos pero obtengo siempre el mismo error. Pego acá la secuencia de comandos para ver que no se me pasó nada obvio:

sudo update-alternatives --set php /usr/bin/php8.2
cd ~/workspace/PROYECTO
composer create-project SIU-Toba/template-proyecto-toba PROYECTO-toba3-nuevo
cd PROYECTO-toba3-nuevo
export TOBA_INSTALACION_DIR=`pwd`/instalacion
cp parameters.yml.dist parameters.yml
vim parameters.yml # Pongo parámetros
echo "postgres" > /tmp/pgpass
echo "toba" > /tmp/tobapass
bin/toba instalacion_silenciosa instalar --archivo_configuracion parameters.yml
source entorno_toba.env
toba proyecto cargar -p toba_editor
toba proyecto cargar -p toba_usuarios
toba proyecto importar -p PROYECTO -d ~/workspace/proyectos-toba/2.7.12 --destino `pwd`

Consideraciones:

  • Postgres está andando
  • El archivo parameters.yml tiene los datos correctos
  • El archivo entorno_toba.env tiene los paths adecuados.

La salida completa del comando importar es:


 ---------------------------------------------------------------------------------------------------
  1.- Haciendo backup directorio instalacion del nuevo toba
 ---------------------------------------------------------------------------------------------------


 ---------------------------------------------------------------------------------------------------
  2.- Apuntando la instancia nueva a la de la versin anterior
 ---------------------------------------------------------------------------------------------------


 ---------------------------------------------------------------------------------------------------                                                             3.- Migrando el proyecto de versin toba
 ---------------------------------------------------------------------------------------------------


 Versin 3.0.0
 -------------


 Migrando instancia 'desarrollo'
 -------------------------------

.OK
 Migrando proyecto 'NOMBREPROYECTO'
..OK

 Versin 3.1.0
 -------------


 Migrando instancia 'desarrollo'
 -------------------------------

.OK
 Migrando proyecto 'NOMBREPROYECTO'
OK

 Versin 3.2.0
 -------------

 Migrando instancia 'desarrollo'
 -------------------------------

OK
 Migrando proyecto 'NOMBREPROYECTO'
..OK

 Versin 3.3.0
 -------------


 Migrando instancia 'desarrollo'
 -------------------------------

.OK
 Migrando proyecto 'NOMBREPROYECTO'
.OK

 Versin 3.4.0
 -------------


 Migrando instancia 'desarrollo'
 -------------------------------

.OK
 Migrando proyecto 'NOMBREPROYECTO'
OK

 ---------------------------------------------------------------------------------------------------
  Exportacin PROYECTO NOMBREPROYECTO
 ---------------------------------------------------------------------------------------------------
 Exportando datos generales................................OK
 Exportando componentes....................OK
 Exportando perfiles..................OK

 ---------------------------------------------------------------------------------------------------
  4.- Restaurando backup directorio instalacion del nuevo toba
 ---------------------------------------------------------------------------------------------------


 ---------------------------------------------------------------------------------------------------
  5.- Regenerando la instancia actual para tomar los cambios
 ---------------------------------------------------------------------------------------------------


 ---------------------------------------------------------------------------------------------------
  Regenerando PROYECTO NOMBREPROYECTO
 ---------------------------------------------------------------------------------------------------

 Exportando informacion local NOMBREPROYECTO.......OK
 Borrando metadatos...OK
 Cargando datos globales.........OK
 Cargando componentes
 ERROR ejecutando SQL:
  [CODIGO]: 7
  [SQLSTATE]: db_42703
  [MENSAJE]: ERROR:  column "editor_config_file" of relation "apex_objeto_ei_formulario_ef" does not exist
 LINE 167: ...tado, editor_ancho, editor_alto, editor_botonera, editor_con...
                                                                ^

Corté la salida del SQL porque se entiende el punto, migra perfecto a la versión 3.4.0 pero luego tiene ese error extraño, como si esos inserts los estuviera queriendo hacer en la base 2.7, no en la nueva base.

Buen día,
A mí me pasó, me tocó hacer escala de la versión toba_2.7 a toba_3.3 y luego a toba_3.4, y para 3.4 la versión mínima de PHP, Postgres 12, me funcionó con la 8.1, con otras NO me migró.

Cordial saludo

Hola Jhon. Vos decís que si actualizo a 3.3 en vez de a 3.4, y luego paso de 3.3 a 3.4 funciona? O entre 3.3 y 3.4 tuviste que hacer algo extra?

Después lo pruebo.

Tomas, buenas tardes
Si efectivamente como lo interpretas, y en particular ese error es por la versión del postgres me mostraba dicho error del ef_
Después de mucho probar llegué a la siguiente compatibilidad
TOBA POSTGRES PHP
2.7.24 9 5.6.40
3.3.25 12 5.3.33
3.4.X 12 8.4.1

Cordial saludo

Ingeniero, gracias por la colaboración.

Probé la migración hasta la versión 3.3 y el proyecto regeneró y levantó correctamente, así que gracias. Me falta ahora intentar pasar de 3.3 a 3.4.

Efectivamente, confirmo que esa forma de actualizar funciona, tal como dijo Jairo. Se actualiza de 2.7 a 3.3. Luego de que el proyecto está andando (entiendo que alcanza con que regenere), se puede hacer el procedimiento desde 3.3 a 3.4.