Estimados,
en el trabajo “mig_encuestas” me surge el error:
ERROR: inserción o actualización en la tabla «gde_formularios» viola la llave foránea «fk_gde_formularios_gde_habilitaciones»
Detail: La llave (habilitacion)=(1) no está presente en la tabla «gde_habilitaciones»
La tabla negocio.gde_habilitaciones se encuentra vacía.
En la sentencia que llena la tabla gde_habilitaciones hace referencia a la secuencia “mig._cnv_pk_habilitaciones” que no encuentro en la base de datos, aunque si está “mig._cnv_pk_habilitaciones_seq”
¿Alguna sugerencia?
Hola Gustavo, esa tabla se encuentra en: \02_Modulos\01_TablasConversionPK\conversion_encuestas.sql
Ahi se crean todas las tablas de conversion de primary key de las tablas del modulo de encuestas.
La tabla “gde_habilitaciones” se carga en el script \02_Modulos\86_Encuestas\02_Migracion\04_gde_habilitaciones.sql
SELECT *
FROM
mig._cnv_pk_habilitaciones as convh
JOIN mig.gde_encues_alcance as alc ON alc.alcance = convh.alcance
LEFT JOIN mig._cnv_pk_periodos_lectivos as convpl ON (convpl.anio_academico = alc.anio_academico AND convpl.periodo_lectivo_g2 = alc.periodo_lectivo)
LEFT JOIN mig._cnv_pk_turnos_examen as convte ON (convte.anio_academico = alc.anio_academico AND
convte.turno_examen_g2 = alc.turno_examen AND
convte.tabla = 'sga_turnos_examen')
JOIN mig._cnv_pk_encuestas as conve ON conve.encuesta_g2 = alc.encuesta -- encuesta g2
JOIN gde_encuestas ON gde_encuestas.encuesta = conve.encuesta -- encuesta g3
ORDER BY convh.alcance
;
Entonces no se corrio el script que carga esas tablas
El script que carga estas tablas es \02_Modulos\86_Encuestas\02_Migracion\01_tablas_conversion.sql
Aunque… si fallo al cargar la tabla gde_formularios, es decir el script 7 de ese modulo, puede ser que como Kettle vuelve atras todo lo ejecutado hasta ese momento, entonces vuelven a quedar vacias estas tablas de conversion de pk que se corrieron en el script 1.
Proba agregar al final en el FROM del SELECT del script 7 lo siguiente:
JOIN gde_habilitaciones as hab_g3 ON hab_g3.habilitacion = cnvhab.habilitacion
Luego de esto volve a migrar este modulo. Quizas no de error ahora, pero por algun motivo no se esta insertando la habilitacion nro 1, que corresponde a un alcance de encuesta en Guarani 2.
Por algun motivo dice que no tenes encuestas en Guarani 2 .
Estas dos consultas devuelven algo?
SELECT * FROM mig.gde_encuestas; -- encuestas de G2
SELECT * FROM mig._cnv_pk_encuestas; -- encuestas de G2 en la tabla de conversion de pk de migracion
Alejandro,
hice todo el proceso desde el comienzo (sin olvidar ningún paso). Me surgió exactamente el mismo error en el pos control de encuestas:
gde_encuestas OK: Cantidad de encuestas … ,00 ,00
gde_habilitaciones Error: Cantidad de habilitaciones no coinciden… 1,00 ,00
gde_formularios Error: Cantidad de formularios no coinciden… 90,00 ,00
gde_encuestas_pendientes Error: Cantidad de encuestas pendientes (persona - formulario)… 2.231,00 ,00
Respecto a los select que me enviaste, ambos NO me devuelven filas.
La consulta siguiente no devuelve datos? SELECT * FROM mig.gde_encuestas; – encuestas de G2
Entonces quiere decir que no tienen encuestas para migrar en Guarani 2.
¿Es correcto?