diff options
-rw-r--r-- | deploy/update_timestamp.sql | 8 | ||||
-rw-r--r-- | deploy/update_timestamp@v1.0.0-alpha.2.sql | 13 | ||||
-rw-r--r-- | revert/update_timestamp.sql | 11 | ||||
-rw-r--r-- | revert/update_timestamp@v1.0.0-alpha.2.sql | 7 | ||||
-rw-r--r-- | sqitch.plan | 1 | ||||
-rw-r--r-- | verify/update_timestamp.sql | 1 | ||||
-rw-r--r-- | verify/update_timestamp@v1.0.0-alpha.2.sql | 7 |
7 files changed, 46 insertions, 2 deletions
diff --git a/deploy/update_timestamp.sql b/deploy/update_timestamp.sql index c84ca69..eac2a44 100644 --- a/deploy/update_timestamp.sql +++ b/deploy/update_timestamp.sql @@ -3,6 +3,13 @@ BEGIN; +CREATE OR REPLACE FUNCTION common.update_timestamp() RETURNS TRIGGER AS $$ + BEGIN + NEW.updated_at = NOW(); + RETURN NEW; + END; +$$ LANGUAGE plpgsql; + CREATE OR REPLACE FUNCTION kakeibo.update_timestamp() RETURNS TRIGGER AS $$ BEGIN NEW.updated_at = NOW(); @@ -10,4 +17,5 @@ CREATE OR REPLACE FUNCTION kakeibo.update_timestamp() RETURNS TRIGGER AS $$ END; $$ LANGUAGE plpgsql; + COMMIT; diff --git a/deploy/update_timestamp@v1.0.0-alpha.2.sql b/deploy/update_timestamp@v1.0.0-alpha.2.sql new file mode 100644 index 0000000..c84ca69 --- /dev/null +++ b/deploy/update_timestamp@v1.0.0-alpha.2.sql @@ -0,0 +1,13 @@ +-- Deploy kakeibo:update_timestamp to pg +-- requires: schema + +BEGIN; + +CREATE OR REPLACE FUNCTION kakeibo.update_timestamp() RETURNS TRIGGER AS $$ + BEGIN + NEW.updated_at = NOW(); + RETURN NEW; + END; +$$ LANGUAGE plpgsql; + +COMMIT; diff --git a/revert/update_timestamp.sql b/revert/update_timestamp.sql index 07074ac..30f9c6d 100644 --- a/revert/update_timestamp.sql +++ b/revert/update_timestamp.sql @@ -1,7 +1,14 @@ --- Revert kakeibo:update_timestamp from pg +-- Deploy kakeibo:update_timestamp to pg +-- requires: schema BEGIN; -DROP FUNCTION kakeibo.update_timestamp; +DROP FUNCTION common.update_timestamp(); +CREATE OR REPLACE FUNCTION kakeibo.update_timestamp() RETURNS TRIGGER AS $$ + BEGIN + NEW.updated_at = NOW(); + RETURN NEW; + END; +$$ LANGUAGE plpgsql; COMMIT; diff --git a/revert/update_timestamp@v1.0.0-alpha.2.sql b/revert/update_timestamp@v1.0.0-alpha.2.sql new file mode 100644 index 0000000..07074ac --- /dev/null +++ b/revert/update_timestamp@v1.0.0-alpha.2.sql @@ -0,0 +1,7 @@ +-- Revert kakeibo:update_timestamp from pg + +BEGIN; + +DROP FUNCTION kakeibo.update_timestamp; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index bd62574..1bd6098 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -19,3 +19,4 @@ transaction_types [kakeibo] 2023-03-12T15:20:07Z Masaya Tojo <masaya@tojo.tokyo> articles_update_timestamp [articles update_timestamp] 2023-03-12T15:38:43Z Masaya Tojo <masaya@tojo.tokyo> # Add update_timestamp trigger to articles table. transactions [transactions@v1.0.0-alpha.2 articles] 2023-03-12T15:42:06Z Masaya Tojo <masaya@tojo.tokyo> # Add foreign key constraint to transactions table referencing types table. common 2023-03-27T15:01:06Z Masaya Tojo <masaya@tojo.tokyo> # Add common schema. +update_timestamp [update_timestamp@v1.0.0-alpha.2] 2023-03-27T15:03:00Z Masaya Tojo <masaya@tojo.tokyo> # Add update_timestamp to common schema. diff --git a/verify/update_timestamp.sql b/verify/update_timestamp.sql index e3d8025..0149615 100644 --- a/verify/update_timestamp.sql +++ b/verify/update_timestamp.sql @@ -2,6 +2,7 @@ BEGIN; +SELECT has_function_privilege('common.update_timestamp()', 'EXECUTE'); SELECT has_function_privilege('kakeibo.update_timestamp()', 'EXECUTE'); ROLLBACK; diff --git a/verify/update_timestamp@v1.0.0-alpha.2.sql b/verify/update_timestamp@v1.0.0-alpha.2.sql new file mode 100644 index 0000000..e3d8025 --- /dev/null +++ b/verify/update_timestamp@v1.0.0-alpha.2.sql @@ -0,0 +1,7 @@ +-- Verify kakeibo:update_timestamp on pg + +BEGIN; + +SELECT has_function_privilege('kakeibo.update_timestamp()', 'EXECUTE'); + +ROLLBACK; |