aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasaya Tojo <masaya@tojo.tokyo>2023-03-28 00:04:59 +0900
committerMasaya Tojo <masaya@tojo.tokyo>2023-03-28 00:04:59 +0900
commit3cfbd44f45098853cb8419bf61059f80c62466fd (patch)
tree69fdc3fbd25f7b5fd7302d5b58336b624717281f
parentdb73168c4eca48e363e27c7129f2e14dcfa0425f (diff)
Add update_timestamp to common schema.
-rw-r--r--deploy/update_timestamp.sql8
-rw-r--r--deploy/update_timestamp@v1.0.0-alpha.2.sql13
-rw-r--r--revert/update_timestamp.sql11
-rw-r--r--revert/update_timestamp@v1.0.0-alpha.2.sql7
-rw-r--r--sqitch.plan1
-rw-r--r--verify/update_timestamp.sql1
-rw-r--r--verify/update_timestamp@v1.0.0-alpha.2.sql7
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;