Se cambia orden en funciones
Supa-backup / run_db_backup (pull_request) Successful in 34s
CI / test (pull_request) Failing after 35s
Deploy Function / deploy (pull_request) Successful in 23s
Deploy Migrations to Production / deploy (pull_request) Successful in 11s

This commit is contained in:
2026-03-17 15:10:54 -06:00
parent 2373eccf51
commit fb9602b849
@@ -1,8 +1,9 @@
CREATE OR REPLACE FUNCTION public.suma_porcentajes(jsonb)
RETURNS numeric
LANGUAGE plpgsql
IMMUTABLE
AS $$
AS $function$
declare
total numeric;
begin
@@ -12,4 +13,65 @@ begin
return total;
end;
$$;
$function$
;
CREATE OR REPLACE FUNCTION public.validar_prerrequisito_asignatura()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
declare
v_plan uuid;
v_ciclo integer;
begin
if new.prerrequisito_asignatura_id is null then
return new;
end if;
select
plan_estudio_id,
numero_ciclo
into
v_plan,
v_ciclo
from public.asignaturas
where id = new.prerrequisito_asignatura_id;
if not found then
raise exception
'La asignatura prerrequisito no existe';
end if;
if v_plan <> new.plan_estudio_id then
raise exception
'El prerrequisito debe pertenecer al mismo plan de estudio';
end if;
if new.numero_ciclo is null then
raise exception
'La asignatura debe tener numero_ciclo definido';
end if;
if v_ciclo is null then
raise exception
'El prerrequisito debe tener numero_ciclo definido';
end if;
if v_ciclo >= new.numero_ciclo then
raise exception
'El prerrequisito debe pertenecer a un ciclo menor';
end if;
return new;
end;
$function$
;
alter table "public"."asignaturas" add constraint "asignaturas_criterios_porcentaje_max_100" CHECK ((public.suma_porcentajes(criterios_de_evaluacion) <= (100)::numeric)) not valid;
alter table "public"."asignaturas" validate constraint "asignaturas_criterios_porcentaje_max_100";
set check_function_bodies = off;