[RESPONDIDO] Error con sincronizacion inicial (Arai-Pilaga-Diaguita)

Buenas,

Ya tengo instalado SIU-Arai (V 1.1.0). Ahora estoy tratando de sincronizar los catalogos de proveedores de Pilaga (V 3.1.4) y Diaguita (V 2.4.4)

Base ini de Arai

[produccion arai arai]
motor = "postgres7"
profile = "11.11.11.11"
puerto = "5435"
usuario = "postgres"
clave = "prueba"
base = "arai"
schema = "catalogos"
encoding = "LATIN1"

Bases ini de Diaguita.

[produccion diaguita siu_arai]
motor = "postgres7"
profile = "11.11.11.11"
puerto = "5435"
usuario = "postgres"
clave = "prueba"
base = "arai"
schema = "catalogos"
encoding = "LATIN1"

Bases ini de Pilaga

[produccion pilaga arai]
motor = "postgres7"
profile = "11.11.11.11"
usuario = "postgres"
clave = "prueba"
puerto = 5435
encoding = "LATIN1"
schema = "public"
base = "arai"

Y aca dejo un export con las variables configuradas:

export TOBA_DIR=/usr/local/siu/diaguita/toba
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/usr/local/siu/diaguita/instalacion
export PATH=“$TOBA_DIR/bin:$PATH”
echo “Entorno cargado.”
echo “Ejecute ‘toba’ para ver la lista de comandos disponibles.”

Siguiendo los pasos del instructivo http://documentacion.siu.edu.ar/wiki/SIU-Arai/proveedores , dentro del apartado Cómo sincronizar por primera vez estoy teniendo los inconvenientes tanto con Pilaga como con Diaguita

Adjunto un txt con el log de Pilaga luego de correr el comando sh pilaga.sh arai sincronizacion_inicial. Aunque igualmente viendo algunas de las tablas de la BD arai veo que se completaron.


Con respecto a Diaguita, cuando ejecuto

sh entorno_toba.env
toba proyecto arai_sinc_inicial –pdiaguita –iproduccion 

me arroja

La opcion ‘arai_sinc_inicial’ no existe


Administracion de PROYECTOS


INVOCACION: toba proyecto OPCION [-p id_proyecto] [-i id_instancia]

[-p id_proyecto] Asume el valor de la variable de entorno ‘TOBA_PROYECTO’: No definida (tambien probé agregar al entorno toba la variable TOBA_PROYECTO=diaguita pero persiste la falla)
[-i id_instancia] Asume el valor de la variable de entorno ‘TOBA_INSTANCIA’: No definida

Lista de opciones

actualizar_proyecto
personalizable Hace que un proyecto pueda ser personalizado.
revincular Revincula las clases que representan componentes. Rees cribe codigo, utilizar con CUIDADO.
autoload Regenera el autoload del proyecto. Ejecutar cuando se crea una nueva clase.
Opcional: [-s] Si se utiliza esta opcion solo se genera el autoload de la personalizacion
crear Crea un proyecto NUEVO.
Opcional: [-d] Directorio donde se creará el proyecto
cargar Carga el PROYECTO en la INSTANCIA (Carga metadatos y crea un vinculo entre ambos elementos).

                      Opcional: [--alias-nombre] Nombre del alias con que se   debe publicar
                      Opcional: [--full-url] URL completa donde esta publicado el proyecto (ej: www.tobacorazon.com)
                      Opcional: [-d 'directorio'] [-a 0|1] Indica si se deben generar los alias para el proyecto

info Brinda informacion sobre los METADATOS del proyecto.
exportar Exporta los METADATOS del proyecto.
regenerar Elimina los METADATOS del proyecto y los vuelve a cargar.
eliminar Elimina el PROYECTO de la INSTANCIA (Elimina los metadatos y el vinculo entre ambos elementos).
actualizar Exporta los METADATOS, actualiza el proyecto (usando svn) y regenera el proyecto en la instancia
compilar Compila los METADATOS del proyecto.
publicar Incluye al proyecto dentro del archivo de configuracion de apache (toba.conf)
Opcional: [-u ‘url’] Lo publica en una url especifica (por ej. /mi_proyecto )
despublicar Quita al proyecto del archivo de configuracion de apache (toba.conf)
empaquetar Crea un instalador del proyeto/framework para produccion
Opcional: [-d ‘deployment’] Indica si el instalador se ra para produccion o desarrollo.
actualizar_login Actualiza o crea la operacion de login asociada al proyecto
importar Importa y migra un proyecto desde otra instalacion de toba
-d ‘directorio’. Especifica el path de toba que contiene el proyecto a migrar
ejecutar_tareas Ejecuta las tareas planificadas pendientes
Opcional: [-v 0|1] Modo verbose
migrar_toba Migra un proyecto entre dos versiones toba.
Opcionales: [-d ‘desde’] [-h ‘hasta’] [-R 0|1] [-m me todo puntual de migracion]
_________________________________

ver_log Muestra los LOGS del proyecto
Opcional: [-n ‘numero’] Muestra un log espec▒fico. Por defecto se muestra el ▒ltimo
roles_script Genera el script de creacion de roles en bd y asignacion de permisos a los mismos


Cualquier otra informacion adicional que necesiten por favor avisarme

saludos.


sincronizacion log Pilaga.txt (151 KB)

Hola,

En general ese error aparece cuando no se carga el entorno correctamente (las variables de entorno no quedan seteadas).
Por favor probá de ejecutar la carga del entorno de esta forma :


. ./entorno_toba.env

y luego ejecutar el comando nuevamente


toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

Saludos

Gracias Leonardo por la rapida respuesta,

volvi a hacerlo nuevamente, te dejo los resultados

root@/usr/local/siu/diaguita/instalacion# ./entorno_toba.env

Entorno cargado.
Ejecute ‘toba’ para ver la lista de comandos disponibles.


Y adjunto un print con los resultados del toba proyecto arai_sinc_inicial –pdiaguita –iproduccion


diaguita.jpg

diaguita.png

Por lo que veo lo ejecutaste de esta forma


./entorno_toba.env

yo te decía probar de esta forma


. ./entorno_toba.env

punto espacio punto barra

Por favor probalo de esa forma

Leonardo

adjunto lo solicitado.

root@SVR:/usr/local/siu/diaguita/instalacion# .  ./entorno_toba.env

Entorno cargado.

Cuando ejecuto el comando TOBA, tengo estas opciones disponibles

Version: 2.7.8
 Directorio de la INSTALACION: /usr/local/siu/diaguita/toba

 Comandos disponibles
 --------------------

 instalacion              Administracion de la INSTALACION
 base                     Administracion de BASES de DATOS
 instancia                Administracion de INSTANCIAS
 proyecto                 Administracion de PROYECTOS
 personalizacion          Administracion de PERSONALIZACIONES
 test                     Ejecucion de baterias de TEST
 servicios_web            Administracion de servicios web

root@SVR:/usr/local/siu/diaguita/toba/bin# toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

 La opcion 'arai_sinc_inicial' no existe

 ---------------------------------------------------------------------------------------------------
  Administracion de PROYECTOS
 ---------------------------------------------------------------------------------------------------

 INVOCACION: toba proyecto OPCION [-p id_proyecto] [-i id_instancia]

 [-p id_proyecto] Asume el valor de la variable de entorno 'TOBA_PROYECTO': No definida
 [-i id_instancia] Asume el valor de la variable de entorno 'TOBA_INSTANCIA': produccion

 Lista de opciones
 -----------------

 actualizar_proyecto
 personalizable           Hace que un proyecto pueda ser personalizado.
 revincular               Revincula las clases que representan componentes. Reescribe c▒digo, utilizar con CUIDADO.
 autoload                 Regenera el autoload del proyecto. Ejecutar cuando se crea una nueva clase.
                          Opcional: [-s] Si se utiliza esta opci▒n solo se genera el autoload de la personalizacion
 crear                    Crea un proyecto NUEVO.
                          Opcional: [-d] Directorio donde se creará el proyecto
 cargar                   Carga el PROYECTO en la INSTANCIA (Carga metadatos y crea un vinculo entre ambos elementos                             ).

                          Opcional: [--alias-nombre] Nombre del alias con que se debe publicar
                          Opcional: [--full-url] URL completa donde esta publicado el proyecto (ej: www.tobacorazon.                             com)
                          Opcional: [-d 'directorio'] [-a 0|1] Indica si se deben generar los alias para el proyecto
 info                     Brinda informacion sobre los METADATOS del proyecto.
 exportar                 Exporta los METADATOS del proyecto.
 regenerar                Elimina los METADATOS del proyecto y los vuelve a cargar.
 eliminar                 Elimina el PROYECTO de la INSTANCIA (Elimina los metadatos y el vinculo entre ambos elemen                             tos).
 actualizar               Exporta los METADATOS, actualiza el proyecto (usando svn) y regenera el proyecto en la ins                             tancia
 compilar                 Compila los METADATOS del proyecto.
 publicar                 Incluye al proyecto dentro del archivo de configuraci▒n de apache (toba.conf)
                          Opcional: [-u 'url'] Lo publica en una url espec▒fica (por ej. /mi_proyecto )
 despublicar              Quita al proyecto del archivo de configuraci▒n de apache (toba.conf)
 empaquetar               Crea un instalador del proyeto/framework para produccion
                          Opcional: [-d 'deployment'] Indica si el instalador sera para produccion o desarrollo.
 actualizar_login         Actualiza o crea la operaci▒n de login asociada al proyecto
 importar                 Importa y migra un proyecto desde otra instalacion de toba
                          -d 'directorio'. Especifica el path de toba que contiene el proyecto a migrar
 ejecutar_tareas          Ejecuta las tareas planificadas pendientes
                          Opcional: [-v 0|1] Modo verbose
 migrar_toba              Migra un proyecto entre dos versiones toba.
                          Opcionales: [-d 'desde']  [-h 'hasta'] [-R 0|1] [-m metodo puntual de migracion]
                          _________________________________

 ver_log                  Muestra los LOGS del proyecto
                          Opcional: [-n 'numero'] Muestra un log espec▒fico. Por defecto se muestra el ▒ltimo
 roles_script             Genera el script de creacion de roles en bd y asignacion de permisos a los mismos

 ___________________________________________________________________________________________________
 TIEMPO: 0,008 segundos

Como veras continua sin ver la opcion ‘arai_sinc_inicial’, cualquier otro dato que necesites favor de avisarme

desde ya, muchas gracias.

Hola Pablo,

Por lo visto no terminan de cargarse correctamente las variables de entorno que setea el script entorno_toba.env
Te pido que ejecutes los exports que están dentro de entorno_toba.env de a uno en forma manual, y que verifiques que las rutas que se setean en esas variables de entorno sean las correctas.

Luego volvé a ejecutar


toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

Leonardo

ejecute a mano los export del entorno_toba.env (las rutas son las correctas)

export TOBA_DIR=/usr/local/siu/diaguita/toba
export TOBA_INSTANCIA=produccion
export TOBA_INSTALACION_DIR=/usr/local/siu/diaguita/instalacion
export PATH="$TOBA_DIR/bin:$PATH"

Y cuando hago toba proyecto arai_sinc_inicial –pdiaguita –iproduccion continua diciendo “La opcion ‘arai_sinc_inicial’ no existe”

Poniendo solo “toba proyecto” ya se ve que no aparece arai_sinc_inicial en las opciones disponibles, aca les dejo el resultado de la salida

root@SVR:/usr/local/siu/diaguita# toba proyecto

 

---------------------------------------------------------------------------------------------------
  Administracion de PROYECTOS
 ---------------------------------------------------------------------------------------------------

 INVOCACION: toba proyecto OPCION [-p id_proyecto] [-i id_instancia]

 [-p id_proyecto] Asume el valor de la variable de entorno 'TOBA_PROYECTO': No definida
 [-i id_instancia] Asume el valor de la variable de entorno 'TOBA_INSTANCIA': produccion

 Lista de opciones
 -----------------

 actualizar_proyecto
 personalizable           Hace que un proyecto pueda ser personalizado.
 revincular               Revincula las clases que representan componentes. Reescribe codigo, utilizar con CUIDADO.
 autoload                 Regenera el autoload del proyecto. Ejecutar cuando se crea una nueva clase.
                          Opcional: [-s] Si se utiliza esta opcion solo se genera el autoload de la personalizacion
 crear                    Crea un proyecto NUEVO.
                          Opcional: [-d] Directorio donde se creará el proyecto
 cargar                   Carga el PROYECTO en la INSTANCIA (Carga metadatos y crea un vinculo entre ambo s elementos).

                          Opcional: [--alias-nombre] Nombre del alias con que se debe publicar
                          Opcional: [--full-url] URL completa donde esta publicado el proyecto (ej: www.tobacorazon.com)
                          Opcional: [-d 'directorio'] [-a 0|1] Indica si se deben generar los alias para el proyecto
 info                     Brinda informacion sobre los METADATOS del proyecto.
 exportar                 Exporta los METADATOS del proyecto.
 regenerar                Elimina los METADATOS del proyecto y los vuelve a cargar.
 eliminar                 Elimina el PROYECTO de la INSTANCIA (Elimina los metadatos y el vinculo entre ambos elementos).
 actualizar               Exporta los METADATOS, actualiza el proyecto (usando svn) y regenera el proyecto en la instancia
 compilar                 Compila los METADATOS del proyecto.
 publicar                 Incluye al proyecto dentro del archivo de configuraci▒n de apache (toba.conf)
                          Opcional: [-u 'url'] Lo publica en una url espec▒fica (por ej. /mi_proyecto )
 despublicar              Quita al proyecto del archivo de configuraci▒n de apache (toba.conf)
 empaquetar               Crea un instalador del proyeto/framework para produccion
                          Opcional: [-d 'deployment'] Indica si el instalador sera para produccion o desarrollo.
 actualizar_login         Actualiza o crea la operaci▒n de login asociada al proyecto
 importar                 Importa y migra un proyecto desde otra instalacion de toba
                          -d 'directorio'. Especifica el path de toba que contiene el proyecto a migrar
 ejecutar_tareas          Ejecuta las tareas planificadas pendientes
                          Opcional: [-v 0|1] Modo verbose
 migrar_toba              Migra un proyecto entre dos versiones toba.
                          Opcionales: [-d 'desde']  [-h 'hasta'] [-R 0|1] [-m metodo puntual de migracion  ]
                          _________________________________

 ver_log                  Muestra los LOGS del proyecto
                          Opcional: [-n 'numero'] Muestra un log espec▒fico. Por defecto se muestra el  utimo
 roles_script             Genera el script de creacion de roles en bd y asignacion de permisos a los mism os

 ___________________________________________________________________________________________________
 TIEMPO: 0,006 segundos

Te pido una última prueba, si con eso no funciona voy a hacer una interconsulta con el equipo Diaguita para ver cuestiones mas vinculadas con el instalador y el proyecto.

Cuando ejecutas el comando te aparece:


 [-p id_proyecto] Asume el valor de la variable de entorno 'TOBA_PROYECTO': No definida

Ahí debería mostrarte el nombre del proyecto que le pasaste por parámetro.
A los exports que ejecutaste sumale este por favor:


export TOBA_PROYECTO=diaguita

Si con esto te funciona agregá este export a entorno_toba.env y ya deberías poder ejecutar el script directamente (porque el problema era que no estaba tomando el nombre del proyecto, por eso no te muestra los comando que son propios del proyecto).

Leonardo

Justamente ayer habia leido en otro post viejo (http://foro.comunidad.siu.edu.ar/index.php?topic=11313.0) que tenian el mismo problema y se habia resuelto con el export TOBA_PROYECTO=diaguita, el cual lo había probado pero agregando la linea dentro del entorno_toba.env y persistia, ahora ejecutandolo de forma manual como me dijiste logré avanzar esa parte.


root@SVR:/usr/local/siu/diaguita/toba/bin# toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

PHP Notice:  Use of undefined constant apex_pa_instancia - assumed 'apex_pa_instancia' in /usr/local/siu/migracion2/diaguita/aplicacion/php/extension_toba/diaguita_comando.php on line 1114

  ===============================
    Actualizacion de secuencias
  ===============================
  Secuencia sq_anx_personas en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencia sq_anx_domicilios en base Diaguita esquema Diaguita actualizada correctamente!
  Secuencias en base Diaguita esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema catalogos: Actualizadas las secuencias!
  Secuencias en base Arai esquema sincronizador: Actualizadas las secuencias!
  INFO_INSTANCIA: No se encuentra definido el archivo de inicializacion de la INSTANCIA: 'apex_pa_instancia' ('/usr/local/siu/diaguita/instalacion/i__apex_pa_instancia/instancia.ini')

 ___________________________________________________________________________________________________
 TIEMPO: 0,195 segundos

estoy siguiendo los pasos de otro caso igual http://foro.comunidad.siu.edu.ar/index.php?topic=10987.0

cualquier cosa te aviso

muchas gracias por la ayuda y la paciencia.

Por lo visto hay algun problema con el seteo de las variables de entorno, podés setearle la instancia también para evitar ese error, con:


export TOBA_INSTANCIA=produccion

Entiendo que no es lo mas cómodo andar ejecutando esto a mano, el script de entorno tendría que funcionarles correctamente (por este tema luego podemos coordinar una videoconferencia y verlo remoto), la ejecución del comando de sincronización inicial solo hizo lo que me pasaste? Porque ese es solo uno de los pasos, debería ejecutar otros pasos mas a continuación.

Leonardo

SI, solo realiza ese paso y queda ahi. Adjunto screen.

Consulta ¿Esto es independiente de la previa sincronizacion que hice con Arai-Pilaga? La cual me habia dado varios errores de insert/update en algunas tablas , por ejemplo

ERROR: inserci¦n o actualizaci¦n en la tabla ¦sau_rt_conceptos_proveedor¦ viola la llave for¦nea ¦r_331¦
DETAIL: La llave (concepto)=(8) no est¦ presente en la tabla ¦sau_rt_conceptos¦.

[MENSAJE]: ERROR: inserci¦n o actualizaci¦n en la tabla ¦sau_rt_conceptos_proveedor¦ viola la llave for¦nea ¦r_331¦
DETAIL: La llave (concepto)=(6) no est¦ presente en la tabla ¦sau_rt_conceptos¦.

Esto es porque no tengo los conceptos 6 (Aporte Becas Compro.Educ) y 8 (Comision de Transferencia) en sau_rt_conceptos (BD Arai) y si esta en sau_rt_conceptos (BD Pilaga), pero aun no lo normalicé. ¿Igualmente deberia sincronizar Diaguita o es recomendable hacer Pilaga primero y luego Diaguita?


sincronizacion log Pilaga.txt (151 KB)

error sincro diaguita.jpg

error sincro diaguita.png

El orden de quien sincroniza solo define que datos prevalece en caso de haber diferencias. Ejemplo: Si Pilagá y Diaguita tienen cargado el mismo proveedor pero con diferentes domicilio, va a prevalecer el domicilio del sistema que sincronice primero con Arai Proveedores, el otro será reemplazado (obviamente una vez sincronizados ambos sistemas cualquiera de los dos va a poder modificar el dato del proveedor si ustedes así lo desean).
Respecto al comando con Diaguita, por favor revisa el log de toba, tiene que haber algún error que está interrumpiendo la ejecución.
Respecto a la sincronización con Pilaga, el error que te aparece surge porque aún no han sincronizado los datos satélites, llamamos así a todas las tablas maestras que intervienen en el proveedor, pero que no son sincronizadas como parte del proveedor (porque no son parte de la entidad proveedor).

Existen dos formas de sincronizar estos datos (esto se suele hacer por única vez, hasta que los datos de estas tablas en las bases Pilaga/Arai Proveedores/Diaguita coincidan:

Acá indica como instalar dblink
http://documentacion.siu.edu.ar/wiki/SIU-Arai/proveedores#.C2.BFComo_instalo_la_extensi.C3.B3n_de_postgresql_dblink_para_poder_utilizar_el_comando_administrativo_que_sincroniza_los_datos_sat.C3.A9lites.3F

  • Una manual, que inserta las diferencias manualmente en las bases donde falte el registro, esto tiene un mejor control de lo que se inserta y porqué.

Mi consejo es que si las diferencias son pocas las hagan manualmente, si ven que son muchas avanzar con la alternativa automática, considerando que después de ello pueda ser necesario algún ajuste por ejecución del comando.

Si necesitan ayuda con este proceso (suele ser un poco pesado pero como les decía se suele realizar por única vez y es lo que les permite tener consistentes las tablas de conceptos, condiciones, rubros, y todas las tablas de ubicación geográfica) me avisan, me escriben a lramirez@siu.edu.ar y lo vemos en conjunto.

Leonardo

Solo a modo de aclaracion me surgió esta duda leyendo el instructivo

Diaguita
Con Windows
En nuestra instalación de toba, carpeta bin (ejemplo C:\siu\arai\toba\bin) , ejecutamos los comandos:
entorno_toba_x.y.bat
toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

Con Linux (en mi caso que tengo un debian 8)
. entorno_toba_x.y.sh
toba proyecto arai_sinc_inicial –pdiaguita –iproduccion

¿Estos 2 comandos debía ejecutarlos en la carpeta de Arai como indica el Path, o en la carpeta de Diaguita? (asi como lo hice con Pilaga mas arriba)

Cuando corras un comando de Diaguita sería en la carpeta bin de su instalación de Toba (de Diaguita).
Cuando corras un comando de Pilaga sería en la carpeta bin de su instalación de Toba (de Pilagá).

Voy a modificar esa parte del instructivo para que quede mas claro, cualquier otra consulta mantenenos al tanto.