Error con toba_usuarios (RESPONDIDO)

Buen dia,

Al acceder a toba usuarios y visualizar o modificar nos da el siguiente error:

Se ha detectado un nombre de parámetro, atributo o columna no definidos. Más info…


SQLSTATE: db_42703

CODIGO: 7

MENSAJE: apex_usuario SQL:

Y en el log de errores de apache vemos lo siguiente:

toba_error_db:

SQLSTATE: db_42703

CODIGO: 7

MENSAJE: Error cargando la tabla apex_usuario, a continuaci\xf3n el mensaje de la base:
ERROR: no existe la columna basica.uid\nLINE 14: basica.uid, \n ^

SQL: SELECT\n\tbasica.autentificacion, \n\tbasica.clave, \n\tbasica.email, \n\tbasica.nombre, \n\tbasica.parametro_a, \n\tbasica.parametro_b, \n\tbasica.parametro_c, \n\tbasica.usuario, \n\tbasica.vencimiento, \n\tbasica.bloqueado, \n\tbasica.forzar_cambio_pwd, \n\tbasica.requiere_segundo_factor, \n\tbasica.uid, \n\tbasica.p_uid\nFROM\n\tapex_usuario as basica\nWHERE\n\tbasica.usuario = ‘XXXXXXX’ – toba_log: 606486

\n[TRAZA]\n\t\n\ttoba_db->consultar \nArchivo: /usr/local/proyectos/SIU-Diaguita-3.6.1/vendor/siu-toba/framework/php/lib/db/toba_db.php, lInea 470 \n\t\n\ttoba_ap_tabla_db->cargar_con_sql \nArchivo: /usr/local/proyectos/SIU-Diaguita-3.6.1/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php, lInea 360 \n\t\n\ttoba_ap_tabla_db->cargar_con_wh…SIGUE…, referer: https://diaguita.iupa.edu.ar/toba_usuarios/aplicacion.php?ah=st67bddc991748a8.11735039&ai=toba_usuarios||3432

Que puede ser?

Saludos,
Pablo

Hola Buenas tardes,
Les hago las siguientes consultas:
¿ Esto es un ambiente productivo o desarrollo ? ¿ Lo tienen personalizado ?
con respecto a toba_usuarios no esta disponible para su uso en ambientes productivos, para la gestión de usuarios lo tenemos incluido como una operación dentro de la aplicación.
Saludos

Buenas tardes Diego,

Esta sin personalizaciones y en produccion, lo raro que en servidor de test pude entrar a toba usuarios y tambien esta en produccion pero con la version 3.4.0.
Sigo entonces con la administracion desde la aplicacion.
Muchas gracias!

Saludos,
Pablo

Hola Pablo,
En el ambiente que tienen la versión 3.6.1, si están utilizando un copia de la base de datos de producción sin haber actualizado es posible que puedan surgir errores como el que reportas, ya que son versiones diferentes de las bases de datos.
Por lo tanto te recomendamos siempre actualizar SIU-Diaguita siguiendo la secuencialidad de las versiones del modulo, por ej en su caso:
3.4.0 => 3.50 => 3.6.0 => 3.6.1
Saludos!!!

Diego,
Esta actualizado secuencialente, no tenemos problemas.

Saludos!

Hola Pablo,
Podrían chequear que versión se encuentran del framework de toba , con el siguiente comando:

composer show siu-toba/framework

Debería estar en una versión 3.4.X donde se incluye el cambio de los campos que te fallan.
Saludos!!!

Diego,
Esta es la salida:

name : siu-toba/framework
descrip. : Framework de desarrollo web
keywords :
versions : * v3.4.4

Hola Pablo,
Al verificar que la versión del framework es la correcta deberíamos chequear también la base de datos con el siguiente comando:

./bin/toba instalacion info

Ya que ese campo faltante debería existir para versión que nos informaste.
Saludos!!

Diago,

Adjunto la salida del comando.
±--------+
| VERSION |
±--------+
| 3.4.1 |
±--------+
±-----------+
| INSTANCIAS |
±-----------+
| produccion |
±-----------+
±---------------------------------------±-------------------------------------------------------------------------------------------------+
| BASE | Parametros ( motor, profile, usuario, clave, puerto, encoding, base, schema ) |
±---------------------------------------±-------------------------------------------------------------------------------------------------+
| toba_3_4
| produccion toba_usuarios toba_usuarios
| produccion diaguita diaguita
| produccion diaguita siu_arai
| produccion diaguita arai

Hola Pablo por ultimo correr esta query que te va listar si el campo con el que falla existe:

SELECT 
    c.column_name,
    c.data_type,
    c.is_nullable,
    c.column_default,
    tc.constraint_type
FROM information_schema.columns c
LEFT JOIN information_schema.key_column_usage kcu
    ON c.table_name = kcu.table_name 
    AND c.column_name = kcu.column_name 
    AND c.table_schema = kcu.table_schema
LEFT JOIN information_schema.table_constraints tc
    ON kcu.constraint_name = tc.constraint_name 
    AND kcu.table_schema = tc.table_schema
WHERE c.table_schema = 'toba_diaguita'
AND c.table_name = 'apex_usuario'
and c.column_name ilike '%uid%'
ORDER BY c.column_name,c.ordinal_position;

Saludos!!!

Diego,

La consuta no tira resultados.

Saludos!

Hola Pablo,
Deberían en esa instalación llevar el proceso de actualización nuevamente desde la versión 3.4.0 (actual de producción) hasta la 3.6.1 y observar en el log que no haya errores y comprobar que se encuentre el campo, ya que hemos hecho pruebas locales y el campo faltante se encuentra en la tabla que lanza el error.
Saludos!!!

Buen dia Diego,
Ya hice toda la instalacion secuencial y este es el resultado de la query.

Buenas tardes,
Evidentemente en tu anterior instalación fallo la migración del modelo de datos del framework siu-toba.
No deberías tener problemas para acceder con el toba_usuarios.
Saludos!!!