Skip to content
Snippets Groups Projects
Commit eb155bc6 authored by Nathanael Santoso's avatar Nathanael Santoso
Browse files

Merge branch 'fix-course' into 'main'

fix course

See merge request !5
parents 3f095364 ef8b03bb
1 merge request!5fix course
Pipeline #58020 passed with stages
in 1 minute
...@@ -15,7 +15,7 @@ CREATE OR REPLACE FUNCTION assign_lecturer() ...@@ -15,7 +15,7 @@ CREATE OR REPLACE FUNCTION assign_lecturer()
RETURNS TRIGGER RETURNS TRIGGER
AS $assign$ AS $assign$
BEGIN BEGIN
IF NEW.lecturer is NULL OR NEW.lecturer = '' THEN IF NEW.lecturer is NULL THEN
NEW.lecturer = (SELECT name FROM public."user" WHERE email = NEW.email); NEW.lecturer = (SELECT name FROM public."user" WHERE email = NEW.email);
END IF; END IF;
RETURN NEW; RETURN NEW;
......
-- +migrate Up
CREATE OR REPLACE TRIGGER assign_lecturer
BEFORE INSERT OR UPDATE ON public."course"
FOR EACH ROW EXECUTE PROCEDURE assign_lecturer();
-- +migrate StatementBegin
CREATE OR REPLACE FUNCTION update_lecturer()
RETURNS TRIGGER
AS $cascade$
BEGIN
UPDATE public."course"
SET lecturer = NEW.name
WHERE email = NEW.email AND lecturer = OLD.name;
RETURN NEW;
END;
$cascade$ LANGUAGE plpgsql;
-- +migrate StatementEnd
CREATE OR REPLACE TRIGGER update_lecturer
BEFORE UPDATE ON public."user"
FOR EACH ROW EXECUTE PROCEDURE update_lecturer();
-- +migrate Down
DROP TRIGGER IF EXISTS update_lecturer ON public."user";
CREATE OR REPLACE TRIGGER assign_lecturer
BEFORE INSERT ON public."course"
FOR EACH ROW EXECUTE PROCEDURE assign_lecturer();
...@@ -28,7 +28,7 @@ BEFORE INSERT ON public."course" ...@@ -28,7 +28,7 @@ BEFORE INSERT ON public."course"
FOR EACH ROW EXECUTE PROCEDURE assign_lecturer(); FOR EACH ROW EXECUTE PROCEDURE assign_lecturer();
-- +migrate Down -- +migrate Down
DROP TRIGGER IF EXISTS assign_lecturer ON public."course" DROP TRIGGER IF EXISTS assign_lecturer ON public."course";
DROP FUNCTION IF EXISTS assign_lecturer(); DROP FUNCTION IF EXISTS assign_lecturer();
......
-- +migrate Up
CREATE OR REPLACE TRIGGER assign_lecturer
BEFORE INSERT OR UPDATE ON public."course"
FOR EACH ROW EXECUTE PROCEDURE assign_lecturer();
-- +migrate StatementBegin
CREATE OR REPLACE FUNCTION update_lecturer()
RETURNS TRIGGER
AS $cascade$
BEGIN
UPDATE public."course"
SET lecturer = NEW.name
WHERE email = NEW.email AND lecturer = OLD.name;
RETURN NEW;
END;
$cascade$ LANGUAGE plpgsql;
-- +migrate StatementEnd
CREATE OR REPLACE TRIGGER update_lecturer
BEFORE UPDATE ON public."user"
FOR EACH ROW EXECUTE PROCEDURE update_lecturer();
-- +migrate Down
DROP TRIGGER IF EXISTS update_lecturer ON public."user";
CREATE OR REPLACE TRIGGER assign_lecturer
BEFORE INSERT ON public."course"
FOR EACH ROW EXECUTE PROCEDURE assign_lecturer();
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment