Autor Tema: Error en mig_Planes - 09_correlativ_esp  (Leído 78 veces)

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

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Error en mig_Planes - 09_correlativ_esp
« on: Junio 10, 2022, 08:47:24 am »
Hola
Estamos haciendo pruebas de migración de G2 a G3.20.0
Al ejecutar 02_Modulos/30_Planes/02_Migracion/09_correlativ_esp.sql emite el siguiente error:
Cita
2022/06/10 08:24:44 - 09_correlativ_esp - ERROR: llave duplicada viola restricción de unicidad «pk_sga_reglas»
2022/06/10 08:24:44 - 09_correlativ_esp -   Detail: Ya existe la llave (regla)=(1003).
2022/06/10 08:24:44 - 09_correlativ_esp -   Where: sentencia SQL: «INSERT INTO sga_reglas(nombre,regla_tipo,php_clase,mensaje_usuario,mensaje_validacion)
2022/06/10 08:24:44 - 09_correlativ_esp -                       VALUES(cursor1.funcion_validacion,3,cursor1.funcion_validacion,'migrado','No cumplio la regla' || cursor1.funcion_validacion || '')»
2022/06/10 08:24:44 - 09_correlativ_esp - función PL/pgSQL mig.fx_mig_correlativ_esp() en la línea 20 en sentencia SQL

Mirando en la base, el último valor de secuencia de sga_reglas_seq efectivamente es 1003. Pero la tabla sga_reglas, tiene hasta el registro 1004 inclusive.

Ahora lo actualizo a mano al número de secuencia. Pero por qué puede suceder esto? Y cual sería la manera correcta de corregirlo?

Muchas gracias
Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8285
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en mig_Planes - 09_correlativ_esp
« Respuesta #1 on: Junio 10, 2022, 02:31:17 pm »
Que hayas agregado una regla en la base registrando el id en el campo regla y luego de eso no actualizaste la secuencia?

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en mig_Planes - 09_correlativ_esp
« Respuesta #2 on: Junio 10, 2022, 03:44:51 pm »
Hola Alejandro

Recibí la base de G3 con las responsables académicas ya cargadas. Para luego migrar sobre la que estoy trabajando.
Tenía reglas personalizadas incluidas.

Cómo corresponde actualizar las secuencias?
Porque también tengo para agregar un par de reglas, y luego de eso también me correspondería volver a actualizar, correcto?

Gracias!!
Saludos
Iris

Alejandro Delú

  • Moderador Global
  • *****
  • Mensajes: 8285
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Alejandro Delú
  • Sistema: Guaraní
Re:Error en mig_Planes - 09_correlativ_esp
« Respuesta #3 on: Junio 13, 2022, 09:56:48 am »
Si cuando agregan un registro en una tabla donde hay un campo con una secuencia, en este caso la tabla sga_reglas, campo regla (obtiene el valor de la secuencia sga_reglas_seq), y no indican valor en el campo "regla", entonces el valor se obtiene de la secuencia y esta se actualiza automaticamente.
Si en cambio envian un valor en el campo regla, entonces no se usa la secuencia y deben actualizarla.
En el catalogo de la base existen las querys para actualizar secuencias, en este caso ejecutar:
Código: [Seleccionar]
SELECT setval('sga_reglas_seq',get_mayor(1000, (SELECT MAX(regla) FROM sga_reglas)))

ifigini

  • Hero Member
  • *****
  • Mensajes: 582
    • MSN Messenger - imfigini@hotmail.com
    • Yahoo Instant Messenger - imfigini@yahoo.com.ar
    • Ver Perfil
    • Email
  • Institución: UNCPBA - FCEx
  • Nombre y apellido: Iris Figini
  • Sistema: Guarani
  • Utilizo algun sistéma del SIU: Sí
Re:Error en mig_Planes - 09_correlativ_esp
« Respuesta #4 on: Junio 13, 2022, 10:44:10 am »
Buenísimo!
Muchas gracias Alejandro!!
Saludos

Iris