Caso: Alumno de una base a migrar ya existe en la base de Guarani 3 en la misma propuesta.
Hola Diego, si este tema se ha planteado en otras instituciones.
Los casos que vi son alumnos que cambiaron de sede, es decir dejaron de cursar en una sede y continuaron cursando la misma carrera en otra sede.
Y al momento de migrar la 2da base de Guarani 2 se encuentran con este problema.
Una posible solución sin hacer cambios en los scripts de migracion sería::
PRE-MIGRACION:
1). Identificar aquellos alumnos que se encuentran en la base de Guarani 3 en la misma propuesta que en la base de Guarani 2 a migrar.
Para ello correr esta consulta:
SELECT
-- Datos G2
g2a.unidad_academica, g2a.carrera, c.nombre, g2a.legajo, g2p.nro_inscripcion, g2p.apellido, g2p.nombres, g2s.nombre as sede_g2,
-- Datos G3
g3p.apellido, g3p.nombres, g3a.alumno, g3p.persona, g3a.propuesta, p.nombre as propuesta_nombre, g3a.plan_version, g3s.nombre as sede_g3
FROM
-- Tablas G2
mig.sga_alumnos as g2a
JOIN mig.sga_sedes as g2s ON g2s.sede = g2a.sede
JOIN mig.sga_carreras as c ON (c.unidad_academica = g2a.unidad_academica and c.carrera = g2a.carrera)
JOIN mig.sga_personas as g2p ON (g2p.unidad_academica = g2a.unidad_academica and g2p.nro_inscripcion = g2a.nro_inscripcion)
-- Tablas G3
JOIN sga_propuestas as p ON p.codigo = g2a.carrera
JOIN mdp_personas_documentos as g3pd ON (g3pd.tipo_documento = g2p.tipo_documento AND g3pd.nro_documento = g2p.nro_documento)
JOIN mdp_personas as g3p ON (g3p.persona = g3pd.persona)
JOIN sga_alumnos as g3a ON (g3a.persona = g3pd.persona AND g3a.propuesta = p.propuesta)
JOIN sga_ubicaciones as g3s ON g3s.ubicacion = g3a.ubicacion
WHERE TRUE
AND UPPER(TRIM(g3a.legajo)) = UPPER(TRIM(g2a.legajo))
AND UPPER(TRIM(g3p.apellido)) = UPPER(TRIM(g2p.apellido))
ORDER BY g2p.apellido, g2p.nombres, g2a.legajo
Fijate que en esta consulta considera que el alumno tiene el mismo apellido y legajo en la base a migrar y en Guarani 3. En todo caso podes comentar esos dos filtros si es que el apelldio puede no estar igual o le asignaron otro legajo en la 2da sede.
- Para cada uno de esos alumnos cambiar el nro de documento en la tabla del esquema de migracion (mig.sga_personas) anteponiendo un dato que luego nos sirva para poder ubicarlos, por ejemplo al documento 35412560 anteponerle un “-” quedando “-35412560”.
Esto hará que la validación al migrar el módulo de matrícula no de error de que ya existe un alumno con el mismo documento.
La idea aqui es migrarlo a Guarani 3. Entonces ese alumno quedará dos veces en la tabla de personas (mdp_personas) y tablas asociadas, y tambien en la tabla de alumnos (sga_alumnos) para la misma propuesta.
POS-MIGRACION:
3) Finalizada la migración deberán unificar esos legajos y esas personas en una. Para ello en el SIU tenemos unos scripts para poder hacer esto. Debe hacerse alumno por alumno.
El script para unificar dos legajos de una misma persona en una misma propuesta: Tendran que identificar alumno por alumno que id de alumno dejar (tabla sga_alumnos)
Luego de esto, tendran que unificar los registros de personas (tabla mdp_personas) corriendo el script para unificar personas, y despues borrar el dato de persona que esta duplicado.
Si el dato de persona que quedo es el Migrado, entonces luego deberán cambiar el nro de documento sacando ese caracter que se agregó inicialmente (punto 2)
4). Cambios de Plan: Ademas deberán registrar para esos alumnos el cambio de plan, recuerden que al migrar una 2da base con una misma propuesta de la que ya esta en Guarani 3, este alumno ahora unificado en un solo registro en sga_alumnos deberán ver con que plan queda. Si es el que estaba en Guarani 3 o el plan migrado, cambiando el dato en sga_alumnos.plan_version, y registrando los cambios de plan que haya tenido el alumno en la 2da base migrada (tabla sga_alumnos_hist_planes)
- Cambios de Ubicacion: tambien tendran que verificar la sede que corresponda tener ese alumno (sga_alumnos.ubicacion), si es la que ya tenia en la base de Guarani 3 o la ubicación de la base de Guarani 2 migrada.
Los puntos 4 y 5 dependerán de donde el alumno esta activo actualmente o estuvo activo mas recientemente. Si el dato válido del alumno es el que se esta migrando entonces hay que hacer los ajustes de los campos “ubicacion” y “plan_version” en la tabla de alumnos “sga_alumnos” y registrar correctamente los cambios de ubicacion en la tabla “sga_alumnos_hist_ubicacion” y de “plan_version” en la tabla “sga_alumnos_hist_planes”.
- Si a esos alumnos cuando ingresó en la 2da sede le otorogaron equivalencias por lo realizado en la 1er sede entonces deberán invalidar esas equivalencias porque al estar ahora unificada las bases de las sedes, existirá el registro original que dieron pie a esas equivalencias por haber cambiado de sede, sino en su historia academica aparecerá el registro original (examen, promocion, eequivalencia) y las equivalencias otorgadas de esas actividades en la 2da sede.
Esta opción planteada funciona si es que unificaron las propuestas. Es decir que la propuesta a migrar que ya existe en Guarani 3, no la migran, reutilizan el id de propuesta que ya existe en Guarani 3 y migran los planes en esa propuesta. Quedando los planes de la propuesta qu eestan en G3 mas los planes de esa misma propuesta que van a migrar.
Esta unifcación se hace en la tabla de migracion mig._cnv_pk_propuestas