From 1bef640493ff0409838c71e72dd105fb61473cb5 Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 17 May 2021 15:47:40 -0500 Subject: [PATCH] unused_invites view View to get all invites not yet used up. --- deploy/unused_invites.sql | 10 ++++++++++ revert/unused_invites.sql | 7 +++++++ sqitch.plan | 1 + verify/unused_invites.sql | 14 ++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 deploy/unused_invites.sql create mode 100644 revert/unused_invites.sql create mode 100644 verify/unused_invites.sql diff --git a/deploy/unused_invites.sql b/deploy/unused_invites.sql new file mode 100644 index 0000000..199c589 --- /dev/null +++ b/deploy/unused_invites.sql @@ -0,0 +1,10 @@ +-- Deploy jmp:unused_invites to pg + +BEGIN; + +CREATE VIEW unused_invites AS + SELECT creator_id, created_at, code + FROM invites + WHERE used_by_id IS NULL; + +COMMIT; diff --git a/revert/unused_invites.sql b/revert/unused_invites.sql new file mode 100644 index 0000000..71ddaef --- /dev/null +++ b/revert/unused_invites.sql @@ -0,0 +1,7 @@ +-- Revert jmp:unused_invites from pg + +BEGIN; + +DROP VIEW unused_invites; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index 96087f6..8c61299 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -13,3 +13,4 @@ plan_log_with_range [plan_log customer_plans] 2021-05-03T19:30:36Z Stephen Paul @2021130 2021-05-11T01:37:34Z Stephen Paul Weber,,, # Deploy to production invites 2021-05-17T20:31:00Z Stephen Paul Weber,,, # Table to store invite codes and their state +unused_invites 2021-05-17T20:40:20Z Stephen Paul Weber,,, # View for invites not yet used diff --git a/verify/unused_invites.sql b/verify/unused_invites.sql new file mode 100644 index 0000000..3cd72e2 --- /dev/null +++ b/verify/unused_invites.sql @@ -0,0 +1,14 @@ +-- Verify jmp:unused_invites on pg + +BEGIN; + +INSERT INTO invites (creator_id) + VALUES ('boop'); +INSERT INTO invites (creator_id, used_by_id, used_at) + VALUES ('boop', 'otherone', LOCALTIMESTAMP); + +SELECT 1/count(1) FROM ( + SELECT count(1) AS a FROM unused_invites WHERE creator_id='boop' +) s WHERE a = 1; + +ROLLBACK; -- 2.38.5