mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-17 23:44:39 -05:00
Migrated comped members to 'comped' status
refs https://github.com/TryGhost/Team/issues/790 In order to track when a member was comped, as well as to differentiate paid members from comped, we are reintroducing the 'comped' status. This migration will updated members with a Complimentary Stripe Subscription to a status of 'comped'. It is essentially a reversal of the 4.6 migration.
This commit is contained in:
parent
6eba445f23
commit
47cf21514e
1 changed files with 46 additions and 0 deletions
|
@ -0,0 +1,46 @@
|
|||
const logging = require('@tryghost/logging');
|
||||
const {createTransactionalMigration} = require('../../utils.js');
|
||||
|
||||
module.exports = createTransactionalMigration(
|
||||
async function up(knex) {
|
||||
const compedMemberIds = (await knex('members')
|
||||
.select('members.id')
|
||||
.innerJoin(
|
||||
'members_stripe_customers',
|
||||
'members.id',
|
||||
'members_stripe_customers.member_id'
|
||||
).innerJoin(
|
||||
'members_stripe_customers_subscriptions',
|
||||
function () {
|
||||
this.on(
|
||||
'members_stripe_customers.customer_id',
|
||||
'members_stripe_customers_subscriptions.customer_id'
|
||||
).onIn(
|
||||
'members_stripe_customers_subscriptions.status',
|
||||
['active', 'trialing', 'past_due', 'unpaid']
|
||||
);
|
||||
}
|
||||
).where(
|
||||
'members_stripe_customers_subscriptions.plan_nickname',
|
||||
'=',
|
||||
'Complimentary'
|
||||
)).map(({id}) => id);
|
||||
|
||||
if (compedMemberIds.length === 0) {
|
||||
logging.info('No Members found with Complimentary subscriptions');
|
||||
return;
|
||||
}
|
||||
|
||||
logging.info(`Updating ${compedMemberIds.length} Members status from 'paid' -> 'comped'`);
|
||||
|
||||
await knex('members')
|
||||
.update('status', 'comped')
|
||||
.whereIn('id', compedMemberIds);
|
||||
},
|
||||
async function down(knex) {
|
||||
logging.info('Updating all member "comped" statuses to "paid"');
|
||||
await knex('members')
|
||||
.update('status', 'paid')
|
||||
.where('status', 'comped');
|
||||
}
|
||||
);
|
Loading…
Add table
Reference in a new issue