Error migración modulo Generales

Hola a todos!!
Con los script de migración de la versión 3.17.1, la migración del módulo generales dá error en el script 09_sga_documentos.sql de tipo y número documento duplicado en el insert de sga_documnetos
Estas claves están duplicadas en cnv_pk_documentos que se carga en el script 02_tablas_comunes.sql.
En este último script hay un insert que es el que me genera los duplicados en clave:
INSERT INTO mig._cnv_pk_documentos (resolucion, tabla, campo, descripcion, documento_tipo, fecha, estado)
SELECT DISTINCT nro_resolucion, ‘sga_movimientos_ha’, ‘nro_resolucion’,
'Resolución Nro ’ || nro_resolucion,
10,
date(fecha), – to_date(mig.get_default(‘fecha_resolucion’),‘YYYY-MM-DD’),
‘A’
FROM mig.sga_mov_equiv
WHERE nro_resolucion NOT IN (SELECT resolucion FROM mig._cnv_pk_documentos WHERE documento_tipo = 10)
AND nro_resolucion IS NOT NULL;

Porque el select devuelve nro_resolucion, tipo_resolucion (10) duplicados y obviamente los inserta.

¿Cómo resuelvo esto?

Gracias por su tiempo.

¿Podes revisar los duplicados para ver en que tablas se da y que fecha tienen?

SELECT resolucion, documento_tipo, fecha, estado, tabla, campo, descripcion
FROM mig._cnv_pk_documentos
WHERE (resolucion, documento_tipo) IN (SELECT d.resolucion, d.documento_tipo FROM mig._cnv_pk_documentos as d GROUP BY  d.resolucion, d.documento_tipo HAVING COUNT(*) > 2)
ORDER BY resolucion, documento_tipo, fecha

La idea es ver si se tratan de las mismas resoluciones que esten cargadas en diferentes tablas en Guarani 2 y eso haga que se dupliquen y generen el error al intentar migrar a Guarani 3.

2

Ale: Te adjunto la salida del quey que me envias.


consulta duplicados mig.txt (1.4 KB)

Por lo que veo se repiten estas 3 resoluciones: 327, 349 y 459.
Estas resoluciones se usaron en invalidación de historia académica (por la tabla con que están relacionadas → Tabla de G3 = sga_movimientos_ha).
Cada una de las fechas debe ser la fecha en que se invalidó historia académica a los alumnos.

resolucion;documento_tipo;fecha;estado;tabla;campo;descripcion
000000000000327;10;2016-12-07;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2018-02-09;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2018-06-28;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2018-07-30;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2018-09-05;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2018-10-04;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327
000000000000327;10;2019-03-18;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000327

000000000000349;10;2017-06-13;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000349
000000000000349;10;2017-07-14;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000349
000000000000349;10;2017-12-13;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000349
000000000000349;10;2018-05-03;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000349

000000000000459;10;2019-09-13;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000459
000000000000459;10;2019-09-25;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000459
000000000000459;10;2019-10-02;A;sga_movimientos_ha;nro_resolucion;Resolución Nro 000000000000459

Una opción es que vuelvan a cargar esta tabla con esas resoluciones solo de las relacionadas con la invalidación de historia académica (exámenes, promociones, cursadas, equivalencias) y también hacer un ajuste al script de migración de la tabla sga_movimientos_ha para que migre correctamente la resolucion que corresponde.

Cargá una solicitud y lo seguimos por alli.

2

2

Ale: La tabla de origen en sga_mov_equiv, y son Anulaciones y Invalidaciones de equivalencias otorgadas, y la fecha es la fecha del movimiento no de la resolución.

GDS 46126

Si, esa fecha que aparece alli en esa tabla de migración es la fecha del movimiento (anulacion / invalidacion / convalidacion).
Ok lo seguimos por la solicitud ingresada.