diff --git a/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.down.sql b/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.down.sql new file mode 100644 index 00000000..acc4911e --- /dev/null +++ b/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.down.sql @@ -0,0 +1 @@ +-- just empty diff --git a/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.up.sql b/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.up.sql new file mode 100644 index 00000000..3ee4f628 --- /dev/null +++ b/internal/dao/slonik/sqlc/postgres/schema/0006_setup_modified_on.up.sql @@ -0,0 +1,21 @@ +-- create or replace function set_modified_on() +-- returns trigger as +-- $$ +-- begin +-- NEW.modified_on = now(); +-- return NEW; +-- end; +-- $$ language plpgsql; + +-- create or replace function trigger_modified_on(tablename regclass) +-- returns void as +-- $$ +-- begin +-- execute format('CREATE TRIGGER set_modified_on +-- BEFORE UPDATE +-- ON %s +-- FOR EACH ROW +-- WHEN (OLD is distinct from NEW) +-- EXECUTE FUNCTION set_modified_on();', tablename); +-- end; +-- $$ language plpgsql; diff --git a/scripts/paopao-postgres.sql b/scripts/paopao-postgres.sql index 9cc7a14f..ab342b92 100644 --- a/scripts/paopao-postgres.sql +++ b/scripts/paopao-postgres.sql @@ -4,6 +4,28 @@ SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; +-- create or replace function set_modified_on() +-- returns trigger as +-- $$ +-- begin +-- NEW.modified_on = now(); +-- return NEW; +-- end; +-- $$ language plpgsql; + +-- create or replace function trigger_modified_on(tablename regclass) +-- returns void as +-- $$ +-- begin +-- execute format('CREATE TRIGGER set_modified_on +-- BEFORE UPDATE +-- ON %s +-- FOR EACH ROW +-- WHEN (OLD is distinct from NEW) +-- EXECUTE FUNCTION set_modified_on();', tablename); +-- end; +-- $$ language plpgsql; + DROP TABLE IF EXISTS p_attachment; CREATE TABLE p_attachment ( id BIGSERIAL PRIMARY KEY,