Autor Tema: [SOLUCIONADO]Error en migración de Módulo: Datos Censales  (Leído 48 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Damian Javier Solalinde

  • General Guarani
  • *
  • Mensajes: 821
    • MSN Messenger - dsolalinde@hotmail.com
    • Ver Perfil
    • Equipo SIU-Guaraní
    • Email
  • Institución: Universidad Nacional del Nordeste
  • Nombre y apellido: Damian Javier Solalinde
  • Sistema: Guarani
  • Teléfono laboral: +54 0379 4422407
  • Utilizo algun sistéma del SIU: Sí
[SOLUCIONADO]Error en migración de Módulo: Datos Censales
« : febrero 13, 2019, 07:22:03 pm »
Buenas, cuando intento migrar el módulo del asunto a una base unificada de G3 con N unidades académicas migradas anteriormente, obtengo el siguiente error:

Código: [Seleccionar]
2019/02/13 19:12:17 - 02_mdp_datos_censales - ERROR: update o delete en «mdp_datos_censales» viola la llave foránea «fk_mdp_eleccion_institucion_mdp_datos_censales» en la tabla «mdp_eleccion_institucion»
2019/02/13 19:12:17 - 02_mdp_datos_censales -   Detail: La llave (dato_censal)=(280) todavía es referida desde la tabla «mdp_eleccion_institucion».

Revisando el script encuentro que en un momento se insertan en una tabla temporaria los registros y luego los borra:

Código: [Seleccionar]
INSERT INTO _temp_dc (persona, dato_censal)
 SELECT mp.persona, dc.dato_censal
   FROM mig._cnv_pk_personas as mp,
        mdp_datos_censales as dc
  WHERE mp.migrar_datos_censales = 1
    AND mp.existe = 1
    AND dc.persona = mp.persona;

DELETE FROM mdp_datos_economicos  WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_actividades WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_personales  WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_censales    WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_salud WHERE persona IN (SELECT persona FROM _temp_dc);

¿Está correcto este comportamiento? ¿Como continúo?
Versión 3.15.0 de los scripts
G2 versión 2.9.4

Gracias
« Última Modificación: febrero 20, 2019, 07:21:35 pm por Damian Javier Solalinde »
Damian

Gustavo J. Palau

  • General Guarani
  • *
  • Mensajes: 1873
    • Ver Perfil
    • Email
  • Institución: IESE-EST / INSPT-UTN / IUSM-PNA / IUSAM / UCA
  • Nombre y apellido: Gustavo Juan Palau
  • Sistema: Guarani y Guaraní 3
  • Teléfono laboral: (011) 15-4147-2172
  • Utilizo algun sistéma del SIU: Sí
Re:Error en migración de Módulo: Datos Censales
« Respuesta #1 : febrero 13, 2019, 09:48:08 pm »
Damián:

Revisando el script encuentro que en un momento se insertan en una tabla temporaria los registros y luego los borra:

Código: [Seleccionar]
INSERT INTO _temp_dc (persona, dato_censal)
 SELECT mp.persona, dc.dato_censal
   FROM mig._cnv_pk_personas as mp,
        mdp_datos_censales as dc
  WHERE mp.migrar_datos_censales = 1
    AND mp.existe = 1
    AND dc.persona = mp.persona;

DELETE FROM mdp_datos_economicos  WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_actividades WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_personales  WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_censales    WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);
DELETE FROM mdp_datos_salud WHERE persona IN (SELECT persona FROM _temp_dc);

¿Está correcto este comportamiento? ¿Como continúo?
Versión 3.15.0 de los scripts
G2 versión 2.9.4

Si no entiendo mal, lo que estarían haciendo esos  delete es borrar los registros que ya están de otra migración, y supongo que sería para volverlos a insertar a partir de los datos de la nueva migración . Obviamente esto es una suposición tratando de entender lo que hace el script. Y pareciera que faltó algún delet y por eso te estaría dando el error. Puede ser?

Saludos

Gustavo

Ing. Gustavo J. Palau

Mbyá Consultores - Consultoría e implementaciones SIU-Guaraní
Analista Funcional y Consultor externo
IESE-EST / IUSM-PNA / IUSAM / UCA

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 4917
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en migración de Módulo: Datos Censales
« Respuesta #2 : febrero 13, 2019, 11:10:46 pm »
Hola Damian, faltaban dos deletes sobre unas tablas nuevas.
Ya habia sido reportado en este mensaje, y fue arreglado en los scripts de la version 3.16.
Por favor fijate si podes bajar estos scripts y probar con lo ultimo publicado.

Saludos.

Damian Javier Solalinde

  • General Guarani
  • *
  • Mensajes: 821
    • MSN Messenger - dsolalinde@hotmail.com
    • Ver Perfil
    • Equipo SIU-Guaraní
    • Email
  • Institución: Universidad Nacional del Nordeste
  • Nombre y apellido: Damian Javier Solalinde
  • Sistema: Guarani
  • Teléfono laboral: +54 0379 4422407
  • Utilizo algun sistéma del SIU: Sí
Re:Error en migración de Módulo: Datos Censales
« Respuesta #3 : febrero 14, 2019, 10:50:51 am »
Hola  Alejandro, gracias por responder.
¿Todo de nuevo el proceso de migración?
¿O solo el paso a partir del módulo de datos censales?
Damian

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 4917
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en migración de Módulo: Datos Censales
« Respuesta #4 : febrero 14, 2019, 02:11:13 pm »
Solo a partir del módulo que te dio error.

Damian Javier Solalinde

  • General Guarani
  • *
  • Mensajes: 821
    • MSN Messenger - dsolalinde@hotmail.com
    • Ver Perfil
    • Equipo SIU-Guaraní
    • Email
  • Institución: Universidad Nacional del Nordeste
  • Nombre y apellido: Damian Javier Solalinde
  • Sistema: Guarani
  • Teléfono laboral: +54 0379 4422407
  • Utilizo algun sistéma del SIU: Sí
Re:Error en migración de Módulo: Datos Censales
« Respuesta #5 : febrero 15, 2019, 06:25:25 pm »
Usando los scripts de 3.16.0 emite el siguiente error:
Código: [Seleccionar]
ERROR: no existe la columna «dato_censal»Creo que la línea del script es:
Código: [Seleccionar]
DELETE FROM mdp_personas_allegados     WHERE dato_censal IN (SELECT dato_censal FROM _temp_dc);Ya que la tabla no tiene una columna con ese nombre.
Mas adelante emite:
Código: [Seleccionar]
ERROR: no existe la relación «his_personas_allegados»Ya que no existe en el esquema negocio
Damian

Damian Javier Solalinde

  • General Guarani
  • *
  • Mensajes: 821
    • MSN Messenger - dsolalinde@hotmail.com
    • Ver Perfil
    • Equipo SIU-Guaraní
    • Email
  • Institución: Universidad Nacional del Nordeste
  • Nombre y apellido: Damian Javier Solalinde
  • Sistema: Guarani
  • Teléfono laboral: +54 0379 4422407
  • Utilizo algun sistéma del SIU: Sí
Re:Error en migración de Módulo: Datos Censales
« Respuesta #6 : febrero 15, 2019, 07:00:16 pm »
En el script
Código: [Seleccionar]
02_fx_pos_ctrl_datos_censales.sql hay un error de sintaxis, falta la palabra ON en la expresión del vínculo entre mcp y msp

Código: [Seleccionar]
IF c_error = 0 THEN

SELECT count(distinct msp.nro_inscripcion) INTO c_cant
FROM  mig._cnv_pk_personas as mcp
JOIN mig.sga_datos_censales as msp ON (mcp.unidad_academica = msp.unidad_academica AND  mcp.nro_inscripcion = msp.nro_inscripcion)
LEFT JOIN mig.aca_usuarios_ag ag ON ag.unidad_academica = msp.unidad_academica AND  ag.nro_inscripcion = msp.nro_inscripcion
WHERE mcp.migrar = 1 ;

ret := ('Control por persona','OK: Se migraron los registros de datos censales para todas las personas.',c_cant,c_cant)::mig.pos_ctrl_type;
RETURN NEXT ret;
END IF;
Damian

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 4917
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en migración de Módulo: Datos Censales
« Respuesta #7 : febrero 19, 2019, 11:23:58 pm »
Gracias Damian por avisar. Ya ajustamos ese script para la próxima version.
Saludos.