GovernIB / rolsac2

rolsac2
1 stars 0 forks source link

S14-1 PROCESO DE MIGRACIÓN DE DATOS (4ª FASE) #116

Closed scalafat-dgtic closed 11 months ago

scalafat-dgtic commented 1 year ago

Revisión y corrección de errores

scalafat-dgtic commented 1 year ago

Se ha enviado correo

slromero-indra commented 1 year ago

Aumentado el tamaño de los campos como se pasó por email (se pasó como instrucciones puntuales pero también se actualizó el sql de creación de tablas para que lo tenga en cuenta), lo tenéis en el tag rolsac-2.0-S15_1

scalafat-dgtic commented 1 year ago

Migracions executades correctament, en general. Queden els següents detalls:

slromero-indra commented 12 months ago

Estos 4 errores parecen que vienen del mismo problema:

La UA 199 ha dado el error. CODE:-1 MSG:ORA-00001: restricción única (ROLSAC2.RS2_UATEMA_PK) violada.
La UA 1266 ha dado el error. CODE:-2291 MSG:ORA-02291: restricción de integridad (ROLSAC2.RS2_UNIADM_UNIADM_FK) violada - clave principal no encontrada.
El proc 1536866 ha dado el error. CODE:-2291 MSG:ORA-02291: restricción de integridad (ROLSAC2.RS2_PRCWF_UNIADM_FK3) violada - clave principal no encontrada. n
El proc 2597767 2ha dado el error. CODE:-2291 MSG:ORA-02291: restricción de integridad (ROLSAC2.RS2_PRCWF_UNIADM_FK) violada - clave principal no encontrada. n

El primer error se debe a un tema que no existe y no permite crear una unidad administrativa, que provoca el segundo error que se debe a que no existe el padre (producido por el error anterior). Estos dos errores provocan el tercer y cuarto error (los procedimientos y servicios asociados a UAs que no se han podido crear).

Ejecutad esta SQL para saber que dato es el que produce el error:

SELECT * 
 FROM R1_MATERIAS
 WHERE MAT_CODI IN (
             SELECT UNM_CODMAT  
              FROM  R1_UNIADM_MATE
             WHERE UNM_CODMAT NOT IN (SELECT TEMA_CODIGO FROM RS2_TEMA)
     );

Para solucionar el problema, se soluciona volviendo a compilar el método sql ( https://github.com/GovernIB/rolsac2/blob/rolsac-2.0-S15_3/scripts/bbdd/oracle/migracion/MIGRAR_UA.sql) que ya se encarga de copiar el tema que sólo existe) y volver a ejecutar migrar sólo unidades administrativas (NO seleccionar la opción de borrar los datos, sólo la opción de migrar UAs). Si sólo se ejecuta migrar unidades administrativas, se intenta migrar sólo los datos no migrados y ya no debería dar error.

Respecto al último error: El proc 1542846 2ha dado el error. CODE:-2291 MSG:ORA-02291: restricción de integridad (ROLSAC2.RS2_PRCPUB_TIPOPUBENT_FK) violada - clave principal no encontrada. n

Ese error se debe a algún problema con el tipo público objetivo, por favor, ejecutad la siguiente sql para saber que dato es:

SELECT *  
  FROM R1_PROCEDIMIENTOS_POBJ
 WHERE PPR_CODPOB NOT IN (SELECT TPSP_CODIGO FROM RS2_TIPOSPU);

Para solucionar el problema, ahora os pasamos las sql para migrar procedimientos y servicios para que ignore los tipos público objetivo que producen el error.

El proc 1542846 2ha dado el error. CODE:-2291 MSG:ORA-02291: restricción de integridad (ROLSAC2.RS2_PRCPUB_TIPOPUBENT_FK) violada - clave principal no encontrada. n
slromero-indra commented 12 months ago

Las sql para volver a compilar.

Una vez compilado, es ejecutar la migración para que sólo intente migrar los procedimientos y servicios (NO seleccionar la opción de borrar los datos), no debería de salir los errores. MIGRAR.zip

Los ficheros sql se incluirán en la próxima subida.

slromero-indra commented 12 months ago

Haciendo pruebas más en profundidad, hemos observado que existen datos (principalmente procedimientos, servicios y normativas) que tienen relleno el idioma catalán pero no el español (se creará el dato correctamente pero produce ciertas incoherencias visuales cuando el usuario tiene seleccionado el idioma español para previsualizar los datos).

En la migración, en los casos que no esté relleno la información en español, lo dejamos como está actualmente o ponemos la información en catalán en la traducción en español cuando esté vacío?

slromero-indra commented 11 months ago

Hemos revisado y también se puede producir el problema si a una UA está repetido el mismo tema. Para evitarlo se ha actualizado el fichero sql del tag S16_1, recomendamos compilarlo y repetir la migración de sólo UAs (sin borrar previamente los datos):

https://github.com/GovernIB/rolsac2/blob/rolsac-2.0-S16_1/scripts/bbdd/oracle/migracion/MIGRAR_UA.sql

scalafat-dgtic commented 11 months ago

S'ha regenerat la BD i s'ha executat la migració correctament. A priori, tancam la migració