Estamos migrando de la version G2 (2.94) a G3 (3.15.1, con datos ya cargados), en mig_propuestas_06_sga_elementos, nos tira, por ejemplo :
06_sga_elementos - ERROR: el nuevo registro para la relación «sga_elementos» viola la restricción «check» «cr_check_codigo_elementos»
Detail: La fila que falla contiene (2895, Teorías de la Historia, TEORÍAS DE LA HISTORIA, 250/THIS, 50, 176766, S, A, T).
Buenos días.
Estuve revisando y no pude encontrar la el check ese que nombras cr_check_codigo_elementos en la tabla sga_elementos.
Tampoco encontre el job o el sql llamado mig_propuestas_06_sga_elementos.
Podrías decirnos cual es el error que te tira y al ejecutar que kjb ?
Pablo podrías comentarnos como está creado ese Check en la tabla sga_elementos, nosotros no tenemos ese check en la base de datos que sale desde el siu, es por ello que no podemos encontrarla y darle una solución.
– DROP FUNCTION negocio_pers.f_check_codigo_elementos(character varying, integer);
CREATE OR REPLACE FUNCTION negocio_pers.f_check_codigo_elementos(
_codigo character varying,
_entidad_subtipo integer)
RETURNS boolean
LANGUAGE ‘plpgsql’
COST 100
VOLATILE
AS $BODY$
DECLARE cantidad integer;
BEGIN
if _codigo is not null then
SELECT count(*) into cantidad
FROM negocio.sga_elementos
WHERE codigo ilike(_codigo) and _entidad_subtipo in (select entidad_subtipo from negocio.sga_g3entidades_subtipos where entidad_tipo in (2,3));
if cantidad>0 then
return false;
else
return true;
end if;
else
return true;
end if;
END;
$BODY$;
ALTER FUNCTION negocio_pers.f_check_codigo_elementos(character varying, integer)
OWNER TO guaraniuser;
Cambiamos la forma de migrarlos, y pasaron salvo el caso 3 elementos que existen en G3 y en G2 son materias distintas (osea el mismo elemento para 3 materias distintas de G2, para este caso como se podría migraría?):
sga_elementos migrar 1 = Se migra. (default) 0 = No se migra, debe reemplazarse el campo “elemento” por el que existe en G3 . (Se utilizo).