Not going to run this, new plan

Stephen Paul Weber created

Change summary

bin/months_to_balance | 37 -------------------------------------
1 file changed, 37 deletions(-)

Detailed changes

bin/months_to_balance 🔗

@@ -1,37 +0,0 @@
-#!/usr/bin/ruby
-# frozen_string_literal: true
-
-# This is meant to be a one-time script that takes any "extra"
-# months an account is activated for and rolls them back into balance instead
-# Mostly as a fix for all the time that web activation spent not setting balance
-
-require "pg"
-
-DB = PG.connect(dbname: "jmp")
-DB.type_map_for_results = PG::BasicTypeMapForResults.new(DB)
-DB.type_map_for_queries = PG::BasicTypeMapForQueries.new(DB)
-
-rows = DB.query(<<~SQL)
-	SELECT customer_id, expires_at,
-		((((DATE_PART('year', expires_at) - DATE_PART('year', LOCALTIMESTAMP)) * 12 +
-		(DATE_PART('month', expires_at) - DATE_PART('month', LOCALTIMESTAMP))) - 1) *
-			case plan_name
-			when 'usd_beta_unlimited-v20210223' then 2.99
-			when 'cad_beta_unlimited-v20210223' then 3.59
-			end)::NUMERIC(12,4) AS amount
-	FROM customer_plans WHERE expires_at > (DATE_TRUNC('month', LOCALTIMESTAMP) + '2 months') ORDER BY expires_at;
-SQL
-
-rows.each do |r|
-	cid = r["customer_id"]
-	DB.transaction do
-		DB.exec(<<~SQL, [cid, "#{cid}-prevent_low_balance"])
-			INSERT INTO transactions (customer_id, transaction_id, amount, note)
-			VALUES ($1, $2, 5.0001, 'Prevent low balance')
-		SQL
-		DB.exec(<<~SQL, [cid, r["expires_at"]])
-			UPDATE plan_log SET date_range = date_range - tsrange(UPPER(date_range) - '1 month', UPPER(date_range))
-			WHERE customer_id=$1 AND UPPER(date_range)=$2
-		SQL
-	end
-end