Buenas tardes a todos
tengo un problema al migrar matriculas me esta dando llave duplicada (persona,propuesta)
en guarani 3.12.0 tengo una la persona inscripta a la propuesta 3 y la version 4
estoy migrando para la misma propuesta 3 pero la version 3
y me da este error que hago ya que si es la misma persona que esta en guarani y tambien la propuesta pero no es la misma version a la que lo quiero agregar
2017/05/12 13:54:03 - alumnos - ERROR (version 5.3.0.0-213, build 1 from 2015-02-02_12-17-08 by buildguy) : Ocurrió un error al ejecutar esta entrada de trabajo:
2017/05/12 13:54:03 - alumnos - Couldn’t execute SQL: SELECT * FROM ext.mig_alumnos()
2017/05/12 13:54:03 - alumnos -
2017/05/12 13:54:03 - alumnos - ERROR: llave duplicada viola restricción de unicidad «iu_sga_alumnos_persona_propuesta»
Detail: Ya existe la llave (persona, propuesta)=(1118, 3).
Where: sentencia SQL: «INSERT INTO sga_alumnos(alumno,legajo,persona,propuesta,plan_version,ubicacion,modalidad,regular,calidad)
2017/05/12 13:54:03 - alumnos - VALUES(cursor1.alumno,cursor1.legajo,_persona,cursor1.propuesta,cursor1.plan_version_actual,cursor1.ubicacion,cursor1.modalidad,cursor1.regular,cursor1.calidad)»
función PL/pgSQL ext.mig_alumnos() en la línea 33 en sentencia SQL
A que te referis con “version” ¿Version del plan de estudios?
Si el alumno ya esta inscripto en una propuesta, entonces tiene un registro en la tabla de alumnos (sga_alumnos) para una propuesta y plan/version de plan de estudios.
Si necesitas registrar el cambio de plan o de version de plan de estudios los scripts no estan preparados para esto.
Porque al querer registrar de nuevo el alumno en esa propuesta en otra version de plan de estudios lo que hace el script es crear nuevamente un registro en esa tabla de alumnos y ahi falla.
El cambio de plan/version de plan de estudios no solo debe actualizar la tabla de alumnos (dato “plan_version”) sino tambien registrar el cambio en la tabla de log de cambios de plan de estudios (sga_alumnos_hist_planes).
Hola Alejandro!
efectivamente el alumno esta inscripto a la propuesta,plan,version como te referis y lo que necesito hacer es lo que comentas en el parrafo siguiente.
Porque al querer registrar de nuevo el alumno en esa propuesta en otra version de plan de estudios lo que hace el script es crear nuevamente un registro en esa tabla de alumnos y ahi falla.
en esta migracion son pocos pero cuando migre la carrera principal esto sera caotico ya que son muchisimos que estan en esta condicion!
Contame bien que estas migrando y que tenian migrado.
Porque por esto que decis “Cuando migre la carrera principal esto sera caotico ya que son muchisimos que estan en esta condicion”.
Segn el error que te da, es porque ya tenes alumnos en esa carrera, es decir los migraste antes y ahora vas a migrarlos nuevamente?
O tenes una carrera con mas de un plan de estudios y vas migrando alumnos por cada plan, y tenes alumnos registrados en diferentes planes de estudio de esa misma carrera?
Por favor contame un poco mas como estas migrando y como tienen los datos actualmente para entender bien cual es la situacion y como podrian resolverlo.
Hola Alejandro
Hasta este momento migre tres carreras distintas y no tuve problemas, pero esta última tengo dos planes de la cual migre todos los alumnos del plan más reciente y cuando quiero migrar los alumnos del plan anterior si estos ya estan en la propuesta no puedo por la razón que me comentaste.
Yo pensaba que al ser de distintos planes lo migraba igual en este caso son solo 6 alumnos.
Como hago entonces para agregar estos alumnos que ya están en la propuesta/plan
Agregarlos a otro plan.
Me refiero de caótico porque la carrera principal que todavía no migre son muchos alumnos en esta situación
Es un problema de conceptos.
En Guarani cada alumno tiene un solo registro en la tabla de alumnos (sga_alumnos) y se encuentra en un unico plan o mejor dicho version de plan de estudios. Cada plan de estudois tiene al menos una version.
Por eso en la tabla de alumnos se registra la version del plan de estudois que se encuentra actualmente (sga_alumnos.plan_version)
Si un alumno cambia de plan de estudios o cambia de version de plan de estudios (supongamos que el plan tiene cambios menores entonces estos son reflejados en una nueva version de ese mismo plan), lo unico que se hace es registrar la nueva version del plan de estudios en la tabla de alumnos (sga_alumnos.plan_version) y registrar el cambio en la tabla historica que registra los cambios de plan/version de plan (sga_alumnos_hist_planes).
Entonces, en tu caso solo deberias (suponiendo que migraste los alumnos de esa carrera en el plan que estan hoy):
En la tabla de alumnos no debes hacer nada, ya que en el campo “plan_version” esta registrada la version del plan en que se encuentra hoy el alumno.
Tendrias que registrar y ajustar los datos en la tabla sga_alumnos_hist_planes, ya que al migrar 1ero al alumno en el plan actual, quedo mal registrada la fecha alli y el motivo …
Tendrias que ingresar un registro con la version del plan que corresponde al plan anterior en el que estaba el alumno co nla fecha real de ingreso en ese plan y motivo _plan = 1 (Alta de Alumno)
Luego registrar para ese alumno un nuevo registro con la version del plan que tiene actualmente, co nla fecha en que efectivamente hizo el cambio de plan y con motivo_plan = 2 (Cambio de Plan)
Migrar su historia academica (inscripciones a examenes, cursadas, actas de promocion, actas de cursadas, actas de examen, equivalencias).
Importante: Deberias verifcar entonces correctamente el dato de periodo de inscripcion y año de ingreso en la carrera (Tabla sga_propuestas_aspira) ya que seguramente quedaron con la info del año en que ingreso al 2do plan de estudios (plan actual en el que se encuentra) y no el año acaemico en que ingreso realmente a la carrera que fue cuando ingreso al plan anterior. Quizas ya lomigraste bien pero por las dudas verificalo. Solo seria cuestion de cambiar el dato “periodo_insc” que corresponda al año academico de ingreso y tambien el dato “anio_academico”.