Migracion.-Externos-Docentes existentes, actualizacion de legajo y estado

Buen dia
Estamos en una situación que tenemos en G3 unas personas dadas de alta (alumnos y/o docentes con y sin legajo cargado).

En el momento de la migración del modulo de docentes, en los precontroles nos salen algunos errores y advertencias, referentes a que la persona ya existe, o el docente ya existe, o de legajos de docentes que ya existen.
Analizando la situación de los datos con que contamos, creería que lo correcto y lo que nos serviría en estos casos puntuales es que actualice el legajo de los docentes con el que se provee en el archivo.

Mirando el script de migración correspondiente, veo que se valida que si no existe la persona la inserta en mdp_personas y luego hace el insert en sga_docentes asociada a esta persona (nueva o ya existente)
Hicimos una pequeña modificación en el script para que en caso que el docente ya exista haga un update y si no existe haga el insert normal.

Es correcto esta modificacion del código?


    -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -- Inserto al docente
    -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -- Validar si existe docente (actualizar legajo, si no hacer el insert)
    select docente INTO _docente
		from sga_docentes
		where persona = _persona
    LIMIT 1;
    IF _docente IS NOT NULL THEN
	_existe_docente := true;
    ELSE
	_existe_docente := false;
    END IF; 
	
    IF NOT _existe_docente THEN   
	INSERT INTO sga_docentes (legajo, persona, estado) VALUES (cursor1.docente_legajo, _persona, cursor1.docente_estado);
    ELSE
	UPDATE sga_docentes SET legajo = cursor1.docente_legajo, estado = cursor1.docente_estado WHERE persona = _persona;
    END IF; 

Gracias

Sucede que dos docentes tengan el mismo legajo?
El legajo de un docente que deja de trabajar en la institución, puede luego otro docente tener el mismo número de legajo?
Por lo que sabemos esto no debería ocurrir y de ser asi es un error en el registro del legajo al docente que ya existe en la base o el nuevo que estan importando.

Estoy consultando con los funcionales sobre ese tema.

Pero en base a esta pregunta que me haces, me surgen otras dudas.
Ya que al migrar el mismo módulo, se solicita tribunal examen
Archivo mig_tribunal_examen.csv
Con tres campos:
nombre_tribunal, docente_legajo y rol

Por lo que entiendo que el nro de legajo debería tomarse como único, porque en caso de tener 2 docentes con el mismo legajo se estaría asignando ambos docentes con el mismo rol a un mismo tribunal.

Es así, o estoy entendiendo mal la migración del módulo?

Gracias

Cristian:

Es como decís, el número de legajo del docente debe ser único. Por eso la sorpresa y la pregunta de Alejandro en la primera respuesta, No se pueden tener 2 docentes con el mismo legajo.

Saludos

Gustavo

OK, entonces estaría correcta la modificación que hago al script, actualizando el nro de legajo, que en G3 el docente no lo tiene cargado, o la persona está dada de alta solo como alumno y se están migrando datos de cuando fue docente?

O este tipo de actualización debiera hacerse administrativamente administración?

Gracias nuevamente

Hola:

Podrías subir el script que modificaste. Estamos migrando desde G2 a G3 (3.15.1), y nos pasa algo similar, y quería ver si lo podemos solucionar con esa modificación.

Muchas gracias!!

Respecto a esta parte del script de migracion:

-- Validar si existe docente (actualizar legajo, si no hacer el insert)
    select docente INTO _docente
		from sga_docentes
		where persona = _persona


Verifiquen que en la base de Guarani 3 no debería haber registro de docentes sin legajo.

Igualmente pueden modificar el script , asignandole un valor si viene en Nulo y de esta forma no va a entra por la condicion IS NULL y actualizará el nro de legajo del docente y no va a insertar un nuevo registro:

-- Validar si existe docente (actualizar legajo, si no hacer el insert)
    select COALESCE(docente,'') INTO _docente
		from sga_docentes
		where persona = _persona


Buenas tardes, aprovecho a consultar por acá para no abrir un hilo nuevo ya que creo es un tema similar.

Respecto a la migración de personas, podria migrarlas con el campo colegio (integer) “vacío” y luego en la próxima migración hacer un update de ese campo sobre las personas ya migradas?

colegio	integer	S		Colegio Secundario	sga_colegios_secundarios

Gracias

Gonzalo, si podrias migrarlo sin el dato del colegio secundario. Ese dato no es obligatorio para poder migrar los alumnos.

Hola Alejandro, la pregunta es si después puedo hacer un update sobre ese campo del alumno ya migrado.

Gracias.
Saludos

Si, en realidad no es un update sino un insert sobre la tabla mdp_datos_estudios registrando este dato en el campo “colegio” o “colegio_otro” si no tienen el número de identificación del colegio (CUE - Código unico de escuela)