storj/satellite/satellitedb
Moby von Briesen f536ee3aaf satellite/satellitedb: Migrate non-expiring coupons to expire
Because of recent changes to how coupons for the free tier are handled
(see commit 4c0817bcfb), we no longer want all these $10
non-expiring coupons. After coupons are applied during invoice
generation, if a customer does not have any valid (non expired, non
consumed) coupons, a new promotional coupon is applied.

We could just wait for users to consume all $10 of the non-expiring
coupons, and the new promotional coupon would be applied for the
following billing cycle, but this gets tricky, because if in the final
month, the user is billed for $1 of usage, but only $0.5 of the $10
non-expiring coupon is remaining, the user will be charged for the
remaining $0.5. With the new promotional coupon of $1.65, expiring every
month, this would not be an issue.

So long story short, this commit migrates all non-expiring coupons to
expire within 2 billing periods (all existing non-expiring coupons in
prod were created in early April or later). That way, there is still
enough value in the $10 coupon that we don't have to worry about
customers exceeding it, and the coupons will expire. Then we'll
immediately apply the $1.65 coupon for the next month! And then
hopefully this unfortunate situation will come to a pleasant end.

Change-Id: I8a593948d8876c41a71d886b9a95d4e2c802b4f3
2021-05-25 19:25:02 +00:00
..
dbx satellite/orders: create project_bandwidth_daily_rollups table 2021-05-25 09:05:47 +00:00
satellitedbtest satellite/metainfo: remove MetabaseDB interface 2021-05-13 13:22:14 +00:00
testdata satellite/satellitedb: Migrate non-expiring coupons to expire 2021-05-25 19:25:02 +00:00
apikeys.go pkg/,private/: merge with private package 2021-04-23 16:37:28 +03:00
attribution.go satellite/metainfo: avoid error on inserting existing attribution 2021-04-02 08:18:17 +00:00
audithistory.go satellite/{overlay, satellitedb}: Refactor audit history 2020-12-29 18:50:22 +00:00
bucketsdb.go satellite/metabase: move package one level higher 2021-04-21 15:54:22 +03:00
coinpaymentstxs.go satellite/satellitedb: Coinpayments repeat insert bug fix 2020-07-20 20:21:35 +00:00
compensation.go satellite/compensation: smaller txns for RecordPeriod 2021-03-02 20:14:25 +00:00
consoledb_test.go satellite/satellitedb/satellitedbtest: pass ctx as an argument 2020-01-20 16:35:42 +02:00
consoledb.go pkg/,private/: merge with private package 2021-04-23 16:37:28 +03:00
containment.go ci: fix lint errors 2021-05-17 13:37:31 +00:00
coupons.go ci: fix lint errors 2021-05-17 13:37:31 +00:00
customers.go satellite/billing: make stripe invoice generation work with multiregion satellites 2021-05-06 11:51:03 -06:00
database.go satellite/{metabase,satellitedb}: deduplicate AS OF SYSTEM TIME code 2021-05-11 12:40:36 +03:00
gracefulexit.go satellite/{metabase,satellitedb}: deduplicate AS OF SYSTEM TIME code 2021-05-11 12:40:36 +03:00
invoiceprojectrecords.go satellite/payments: delete credits and credits_spendings db tables 2020-07-30 12:19:57 +03:00
irreparabledb.go satellite/metabase: move package one level higher 2021-04-21 15:54:22 +03:00
migrate_gen.go private/dbutil: use dbutil and tagsql from storj.io/private 2021-04-23 14:36:52 +03:00
migrate_test.go ci: fix lint errors 2021-05-17 13:37:31 +00:00
migrate.go satellite/satellitedb: Migrate non-expiring coupons to expire 2021-05-25 19:25:02 +00:00
migratez.go satellite/satellitedb: Migrate non-expiring coupons to expire 2021-05-25 19:25:02 +00:00
nodeapiversion.go ci: fix lint errors 2021-05-17 13:37:31 +00:00
nodeselection.go satellite/{metabase,satellitedb}: deduplicate AS OF SYSTEM TIME code 2021-05-11 12:40:36 +03:00
orders.go satellite/orders: populate 2021-05-25 18:07:22 +00:00
overlaycache.go satellite/satellitedb: fix nil panic in UpdateCheckIn 2021-05-25 00:30:36 +03:00
payouts.go satellite/compensation: smaller txns for RecordPeriod 2021-03-02 20:14:25 +00:00
peeridentities.go all: fix dots 2020-07-16 14:58:28 +00:00
projectaccounting.go satellite/orders: use project daily bandwidth rollups 2021-05-25 18:28:58 +00:00
projectmembers_test.go web/satellite: project members sorting fixed (#3231) 2019-10-15 15:24:53 +03:00
projectmembers.go all: fix linter complaints 2020-10-13 15:59:01 +03:00
projects_test.go satellite/satellitedb/dbx: name the package dbx 2020-01-15 15:16:39 -07:00
projects.go satellite/console: change default project and usage limits 2021-03-24 14:24:27 +00:00
regtokens.go all: fix dots 2020-07-16 14:58:28 +00:00
repairqueue.go satellite/{metabase,satellitedb}: deduplicate AS OF SYSTEM TIME code 2021-05-11 12:40:36 +03:00
resetpasstokens.go all: fix dots 2020-07-16 14:58:28 +00:00
revocation.go pkg/,private/: merge with private package 2021-04-23 16:37:28 +03:00
storagenodeaccounting.go satellite/{metabase,satellitedb}: deduplicate AS OF SYSTEM TIME code 2021-05-11 12:40:36 +03:00
stripecoinpaymentsdb.go satellite/payments: delete credits and credits_spendings db tables 2020-07-30 12:19:57 +03:00
users_test.go satellite/satellitedb/dbx: name the package dbx 2020-01-15 15:16:39 -07:00
users.go satellite/satellitedb: add employee size column to users 2021-02-12 09:15:15 -05:00