From e005a4d6b09636d21614be0c513ce9360cef2ccb Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 23 Feb 2021 21:15:26 -0500 Subject: [PATCH] View for the most current plan for each customer This includes a plan even if it is expired, with the expires_at present for checking if desired. This is because an expired user may still want to may a payment or similar, and checking their plan is how we know what currency to charge them in. --- deploy/customer_plans.sql | 14 ++++++++++++++ revert/customer_plans.sql | 7 +++++++ sqitch.plan | 1 + verify/customer_plans.sql | 11 +++++++++++ 4 files changed, 33 insertions(+) create mode 100644 deploy/customer_plans.sql create mode 100644 revert/customer_plans.sql create mode 100644 verify/customer_plans.sql diff --git a/deploy/customer_plans.sql b/deploy/customer_plans.sql new file mode 100644 index 0000000..abc015f --- /dev/null +++ b/deploy/customer_plans.sql @@ -0,0 +1,14 @@ +-- Deploy jmp:customer_plans to pg + +BEGIN; + +CREATE VIEW customer_plans AS + SELECT DISTINCT ON (customer_id) + customer_id, + plan_name, + expires_at + FROM plan_log + WHERE starts_at <= NOW() + ORDER BY customer_id, starts_at DESC; + +COMMIT; diff --git a/revert/customer_plans.sql b/revert/customer_plans.sql new file mode 100644 index 0000000..1eabf80 --- /dev/null +++ b/revert/customer_plans.sql @@ -0,0 +1,7 @@ +-- Revert jmp:customer_plans from pg + +BEGIN; + +DROP VIEW customer_plans; + +COMMIT; diff --git a/sqitch.plan b/sqitch.plan index 24a68e7..323a5a4 100644 --- a/sqitch.plan +++ b/sqitch.plan @@ -5,3 +5,4 @@ transactions 2021-02-22T19:15:25Z Stephen Paul Weber balances 2021-02-23T15:08:09Z Stephen Paul Weber # Creates a view to lookup customer balances sub_cent_transactions 2021-02-24T01:37:35Z Stephen Paul Weber # Minutes cost less than 1 cent, so we need more decimal places plan_log 2021-02-24T01:53:29Z Stephen Paul Weber # Log to show what plans an account has had +customer_plans 2021-02-24T02:06:25Z Stephen Paul Weber # View of current customer plans diff --git a/verify/customer_plans.sql b/verify/customer_plans.sql new file mode 100644 index 0000000..0cd1ea4 --- /dev/null +++ b/verify/customer_plans.sql @@ -0,0 +1,11 @@ +-- Verify jmp:customer_plans on pg + +BEGIN; + +SELECT + customer_id, + plan_name, + expires_at +FROM customer_plans; + +ROLLBACK; -- 2.38.5