diff --git a/tools/migrations/20260601160305_unset_stripe_subscription_id_from_recurly_field.mjs b/tools/migrations/20260601160305_unset_stripe_subscription_id_from_recurly_field.mjs new file mode 100644 index 0000000000..e579d34af7 --- /dev/null +++ b/tools/migrations/20260601160305_unset_stripe_subscription_id_from_recurly_field.mjs @@ -0,0 +1,26 @@ +import { db } from './lib/mongodb.mjs' + +const tags = ['saas'] + +const migrate = async () => { + const result = await db.subscriptions.updateMany( + { + recurlySubscription_id: /^sub_/, + $expr: { + $eq: ['$recurlySubscription_id', '$paymentProvider.subscriptionId'], + }, + }, + { $unset: { recurlySubscription_id: '' } } + ) + console.log( + `Updated ${result.modifiedCount} subscriptions (matched ${result.matchedCount}).` + ) +} + +const rollback = async () => {} + +export default { + tags, + migrate, + rollback, +}