Problema con tabla dh01 al migrar de servidor

Hola buenos tardes!
escribo ya que surgió un problema al migar el Diaguita de un servidor a otro. Antiguamente compartía servidor con Mapuche, la idea fue migrarlo a otro, y al querer ingresar al sistema, me tira un error con la tabla dh01.
El mensaje que muestra en el cliente es:
SQLSTATE[42P01]: Undefined table: 7 ERROR: no existe la relación «dh01» LINE 27: LEFT JOIN dh01 dh ON dh.nro_legaj = u.id_empleado…

Antes se compartían los usuarios con mapuche, pero ya no es necesario y no sabemos como “no conectar” con estos usuarios.

El error en los logs de postgres dice:
2014-03-17 13:06:27 ART ERROR: no existe la relacion «dh01» en caracter 1669

Saludos, y muchas gracias por su ayuda!

Florencia

Hola Florencia,

Lo primero que te pediría es que nos informes en que versión del sistmema estan trabajando y si podemos tener acceso a un backup de la base para probar/reproducir el inconveniente (subiendolo al repositorio personal).

Lo que no sabemos es que pasos realizaron para separar los sistemas del servidor. Técnicamente hablando, haciendo un backup de la base de datos y de los archivos del sistema y moviendolos a otro servidor (pero respetando de usar la misma ruta donde estuvo instalado anteriormente) debería funcionar…

¿Tenían alguna personalización para lograr este uso compartido de los usuarios? La tabla dh01 fué introducida en SIU-Diaguita para lograr la representación de los empleados tal cual estan en el sistema SIU-Mapuche (pero no existe una integración automática, por ahora consiste en replicar los datos de empleados SIU-Mapuche en SIU-Diaguita). Por lo que indicás, esta faltando dicha tabla en SIU-Diaguita… ¿fué borrada?

Saludos!

Hola sergio, perdon por no contestarte mas. Estuve con otros temas y pospuse esta migración.
Lo que acabo de hacer es borrar todo y volver a empezar, siempre da buenos resultados, o distintos como es este caso je.
Como bien me decias, hice backup de la base y copie todos los archivos a la misma ruta. LA versión que estoy tratando de migrar es la 1.14.2.
Ahora el error es de postgres y dice lo siguiente:

SQLSTATE[3F000]: Invalid schema name: 7 ERROR: no existe el esquema «toba_diaguita_logs»

CRee el schema para probar, y me pide relaciones dentro de ese schema.
Nose que podrá ser, si logs o qué pero el error no lo encuentro,
gracias por todo

Florencia Mansilla

Hola Florencia,

Este esquema toba_diaguita_logs se crea al realizar la instalación del sistema, existe con 12 tablas que permiten llevar el registro de acceso de los usuarios entre otros detalles. Lo mas probable es que hayas realizado el backup de la base de datos excluyendo este esquema o inclusive habiendo seleccionado solo el de sistema (toba_diaguita y diaguita). Te pediría que revises en la base original … ya que ese esquema es creado cuando se instala SIU-Diaguita con el instalador web a partir de la versión 1.12.0 y es improbable que falte.

Saludos!

Estoy viendo los esquemas del original de Diaguita, y no aparece este esquema. La lista es esta:

            Listado de esquemas
        Nombre            |        Dueño

------------------------------±--------------------
diaguita | postgres
diaguita_auditoria | postgres
information_schema | postgres
pg_catalog | postgres
pg_toast | postgres
pg_toast_temp_1 | postgres
public | postgres
toba_diaguita | postgres
toba_diaguita_1.10.3 | postgres
toba_diaguita_1.11.0 | postgres
toba_diaguita_1.9.0 | postgres
toba_logs | postgres
unaj_relevamiento_inventario | diaguita_inventario
(13 filas)

mmm no se si hay un sql en los instaladores que tenga este esquema? como para correrlo.
saludos, gracias!!

Ese es el esquema original… que allá por la versión 1.12.0 de Diaguita pasó a llamarse toba_diaguita_logs (cambio interno del framework toba, y se aplicaba al instalar el sistema por medio del instalador web hasta donde sé).

Te adjunto un SQL para que puedan recrear dicho schema, podrías usar el toba_logs pero probablemente tenga una tabla menos en esa versión. Si con esto no funciona todo al 100% te pido subas un backup de la base al repositorio personal y ahí continuamos viendo.

Saludos!


toba_diaguita_logs.sql (118 KB)

Sergio, genial, el sql me sirvio lo corrí y se creo el esquema.
Pero lamentablemente volvi al problema original con la tabla dh01, al intentar loguearme.

" ART ERROR: no existe la relación dh01 en caracter 1669".

Te envio un backup de la base. Mi pregunta es si el problema viene de que en el antiguo diaguita compartia con mapuche?. No se.
Como hago para enviarlo al repositorio personal?

Ahi lo subi al repositorio personal, solo me aparece “pilagá” como proyecto elegible.

Bien, ahí revisando el backup veo que es de la versión 1.12.0 del SIU-Diaguita… por lo que en esa base definitivamente no existe la tabla dh01 (fué introducida en la versión 1.13.0, y no estoy completamente seguro pero el esquema diaguita_toba_logs también apareció con la versión posterior a la 1.12.0!!).

¿Estamos trabajando con la db correcta? Es probable que se haya mezclado con otra, te pido que lo confirmes pues es el único inconveniente que puedo vislumbrar…

Todavía no me indicaste que tipo de integración tenían con Mapuche. Desde SIU-Diaguita solamente se puede sincronizar la tabla dh01 con la propia de SIU-Mapuche. Nada más. Bases separadas. A menos que por parte de uds existan personalizaciónes claro…

Ya pedí a los chicos para que tengas permisos de subir como Diaguita el backup!

En realidad el Diaguita que tenemos instalado es el 1.14.2, vos estas viendo en el backup el 1.12.0. Por lo que me decis, me esta tirando errores como si tuviera instalada la version 1.12.0, pero no es asi.
Efectivamente estoy trabajando con la DB correcta, hago el backup con pg_dump de la base “diaguita” y lo paso al nuevo servidor.
Lo raro es que tome la base de datos como si fuera esa version.

Con respecto a lo de mapuche, no tenemos ninguna personalizacion hecha por lo tanto no tendría nada que ver que comparta el servidor entonces.

Hola Florencia!

Te comento, el backup que pude revisar pertenece a la versión 1.12.0 porque la estructura de tablas corresponde a esa versión… además es posible poder comprobar que en la tabla par_version se indica la última versión instalada. Por favor podrías comprobar eso en tu copia?

Para estar seguros, te pediría que revises el archivo bases.ini de tu instalación en producción y corrobores a que base de datos está apuntando. Quizás yo recibí otra db y no la que corresponde a tu backup, podrías subirla ahora a tu repositorio personal asociada al proyecto Diaguita? Gracias!

Sergio, tenes razón. La consulta a la tabla par_version me da lo siguiente:
19 | 1.9.0 | 2012-02-08 01:32:49.162546
20 | 1.10.0 | 2012-07-20 11:48:49.942604
21 | 1.10.1 | 2012-07-20 11:52:50.424395
22 | 1.10.2 | 2012-07-20 11:52:50.425759
23 | 1.10.3 | 2012-09-28 10:55:56.399545
24 | 1.11.0 | 2012-10-30 18:31:25.230953
25 | 1.11.1 | 2013-03-01 10:54:15.686867
26 | 1.12.0 | 2013-03-01 10:54:34.115305
(8 rows)

El archivo bases.ini apunta a la base diaguita, tal como estoy haciendo el backup. Lo vuelvo a subir al repositorio el backup de ahora.
Pero sin embargo, la version instalada es la 1.14.2.


diaguita.jpg

diaguita.png

Florencia, el backup que me estas proporcionando corresponde inequívocamente a una instalación SIU-Diaguita 1.12.0 puesto que la estructura se corresponde exactamente así como los registros en par_version.

No te puedo decir que la captura que me pasas (que es mínima) no sea 1.14.2 porque ese valor está seteado en el archivo diaguita/aplicacion/proyecto.ini. Lo que puede indicar que quizás ¿…intentaron actualizar a dicha versión y el proceso falló? ¿seguimos viendo una instalación que no coincide con la que esperás acceder?.

Lo que sí es una certeza que el sistema SIU-Diaguita 1.14.2 no puede operar de manera correcta con una base de la versión 1.12.0 y por lo tanto hay algo que no coincide. ¿El sistema se encuentra corriendo y funcionando en el servidor viejo? No se me ocurren mas sugerencias para dar…

SErgio,
ese archivo que me nombras tiene la version 1.14.3:

[proyecto]
id = diaguita
nombre = SIU-Diaguita
descripcion = “Sistema de Compras, Contrataciones y Patrimonio”
mail_soporte = diaguita@siu.edu.ar
version_toba = 2.4.1
revision_toba = 6097
revision_instalador = 5200

;Versi�n del proyecto, debe ser formato x.y.z
version = 1.14.3
version_anterior = 1.14.0
versiones_intermedias = 1.14.1,1.14.2

la base es diaguita, el backup que te pase es de diaguita. En el bases.ini dice “diaguita” la base de datos, que es a lo que le hago el pg_dump. Y la actualizacion que realice ayer a la 1.14.3 no dio ningun error tampoco.
No se te ocurre que puede estar pasando en el medio, que todo corresponde a la 1.14.3 pero la base de datos dice que es 1.12.0?

saludos y mil grac ias

Hola Florencia,

Ok, si la actualización a 1.14.3 les funcionó sin inconvenientes, estan teniendo una instalación con los datos y estructura en teoría adecuados. Hay que cerciorarse de que se está accediendo a la misma.

Si siguen teniendo el problema con la tabla dh01 por favor realicen una copia comprimida del directorio completo donde tengan instalado el sistema (incluyendo toba). También realicen una copia completa de la base de datos en formato SQL plano. Suban todo al repositorio personal y a partir de ahí seguimos probando.

Saludos!

Sergio ahi subi todo, subi por separado “aplicacion” “instalacion” y “toba” porque pesaba todo un poco mas de 200 M.
Saludos

gracias por todo

Florencia,

lo único se me ocurre es que tengan varias instancias PostgreSQL corriendo en diferentes puertos y que en uno de ellos esté la base correcta y en otro una base desactualizada…

Te pido que lo verifiquen, por ej. en el bases.ini veo que lo tienen en el puerto 5433 y quizás cuando se copiaron la base para migrarla a otro server se estan equivocando. Con el comando pg_lsclusters pueden corroborar que instancias de PostgreSQL tienen en ejecución.

Más no vamos a poder ayudar, la base que nos proporcionan sigue siendo de una versión vieja del sistema y no coincide para nada con la instalación del sistema que adjuntaron al repositorio (la instalación es versión 1.14.3, corroborado).