From 359c6f0ac5bf506edb03f41c4c1fbaf2fda234b0 Mon Sep 17 00:00:00 2001 From: Ben Sherriff Date: Mon, 4 Sep 2023 20:39:59 -0400 Subject: [PATCH] Enable diesel_initial_setup --- .../migrations/diesel_initial_setup/down.sql | 4 +-- .../migrations/diesel_initial_setup/up.sql | 34 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/backend/migrations/diesel_initial_setup/down.sql b/backend/migrations/diesel_initial_setup/down.sql index 89c493c..0014907 100644 --- a/backend/migrations/diesel_initial_setup/down.sql +++ b/backend/migrations/diesel_initial_setup/down.sql @@ -1,2 +1,2 @@ --- DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); --- DROP FUNCTION IF EXISTS diesel_set_updated_at(); \ No newline at end of file +DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass); +DROP FUNCTION IF EXISTS diesel_set_updated_at(); \ No newline at end of file diff --git a/backend/migrations/diesel_initial_setup/up.sql b/backend/migrations/diesel_initial_setup/up.sql index 9ee5837..990dcb0 100644 --- a/backend/migrations/diesel_initial_setup/up.sql +++ b/backend/migrations/diesel_initial_setup/up.sql @@ -1,18 +1,18 @@ --- CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ --- BEGIN --- EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s --- FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); --- END; --- $$ LANGUAGE plpgsql; +CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$ +BEGIN + EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s + FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl); +END; +$$ LANGUAGE plpgsql; --- CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ --- BEGIN --- IF ( --- NEW IS DISTINCT FROM OLD AND --- NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at --- ) THEN --- NEW.updated_at := current_timestamp; --- END IF; --- RETURN NEW; --- END; --- $$ LANGUAGE plpgsql; \ No newline at end of file +CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$ +BEGIN + IF ( + NEW IS DISTINCT FROM OLD AND + NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at + ) THEN + NEW.updated_at := current_timestamp; + END IF; + RETURN NEW; +END; +$$ LANGUAGE plpgsql; \ No newline at end of file