Closed scalafat-dgtic closed 11 months ago
Se ha enviado correo
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
Migracions executades correctament, en general. Queden els següents detalls:
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
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.
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?
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):
S'ha regenerat la BD i s'ha executat la migració correctament. A priori, tancam la migració
Revisión y corrección de errores