From d97bccef31c3a16be43bf94ed1632d22e61298b4 Mon Sep 17 00:00:00 2001 From: Masaya Tojo Date: Wed, 1 Mar 2023 02:03:28 +0900 Subject: Add update_timestamp trigger to transactions table. --- deploy/transactions_update_timestamp.sql | 12 ++++++++++++ revert/transactions_update_timestamp.sql | 7 +++++++ sqitch.plan | 1 + verify/transactions_update_timestamp.sql | 14 ++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 deploy/transactions_update_timestamp.sql create mode 100644 revert/transactions_update_timestamp.sql create mode 100644 verify/transactions_update_timestamp.sql diff --git a/deploy/transactions_update_timestamp.sql b/deploy/transactions_update_timestamp.sql new file mode 100644 index 0000000..96b138d --- /dev/null +++ b/deploy/transactions_update_timestamp.sql @@ -0,0 +1,12 @@ +-- Deploy kakeibo:transactions_update_timestamp to pg +-- requires: transactions +-- requires: update_timestamp + +BEGIN; + +CREATE OR REPLACE TRIGGER update_timestamp + BEFORE UPDATE ON kakeibo.transactions + FOR EACH ROW + EXECUTE FUNCTION kakeibo.update_timestamp(); + +COMMIT; diff --git a/revert/transactions_update_timestamp.sql b/revert/transactions_update_timestamp.sql new file mode 100644 index 0000000..6f5864b --- /dev/null +++ b/revert/transactions_update_timestamp.sql @@ -0,0 +1,7 @@ +-- Revert kakeibo:transactions_update_timestamp from pg + +BEGIN; + +DROP TRIGGER update_timestamp ON kakeibo.transactions; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index de81c12..5da13ea 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -11,3 +11,4 @@ items [appschema transactions] 2023-02-28T12:08:45Z Masaya Tojo # Add function to insert item. delete_item [appschema items] 2023-02-28T13:13:39Z Masaya Tojo # Add function to delete item. update_timestamp [appschema] 2023-02-28T14:30:04Z Masaya Tojo # Add triger function to update a timestamp. +transactions_update_timestamp [transactions update_timestamp] 2023-02-28T16:43:49Z Masaya Tojo # Add update_timestamp trigger to transactions table. diff --git a/verify/transactions_update_timestamp.sql b/verify/transactions_update_timestamp.sql new file mode 100644 index 0000000..50f348e --- /dev/null +++ b/verify/transactions_update_timestamp.sql @@ -0,0 +1,14 @@ +-- Verify kakeibo:transactions_update_timestamp on pg + +BEGIN; + +DO $$ + BEGIN + ASSERT (SELECT 1 from information_schema.triggers + WHERE trigger_schema = 'kakeibo' + AND event_object_table = 'transactions' + AND trigger_name = 'update_timestamp'); + END +$$; + +ROLLBACK; -- cgit v1.2.3