From d978952e2fac5b5099142cb7714c9e6d04bd763e Mon Sep 17 00:00:00 2001 From: Cathy Sarisky Date: Wed, 12 Feb 2025 19:47:43 -0500 Subject: [PATCH 1/2] detect database and change date comparison. --- .../members/jobs/clean-expired-comped.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ghost/core/core/server/services/members/jobs/clean-expired-comped.js b/ghost/core/core/server/services/members/jobs/clean-expired-comped.js index 1d8d2aadf84..cd7b5573a78 100644 --- a/ghost/core/core/server/services/members/jobs/clean-expired-comped.js +++ b/ghost/core/core/server/services/members/jobs/clean-expired-comped.js @@ -3,6 +3,8 @@ const ObjectId = require('bson-objectid').default; const {chunk: chunkArray} = require('lodash'); const debug = require('@tryghost/debug')('jobs:clean-expired-comped'); const moment = require('moment'); +const DatabaseInfo = require('@tryghost/database-info'); + // recurring job to clean expired complimentary subscriptions @@ -31,10 +33,16 @@ if (parentPort) { const cleanupStartDate = new Date(); const db = require('../../../data/db'); debug(`Starting cleanup of expired comp subscriptions`); - const expiredCompedRows = await db.knex('members_products') - .where('expiry_at', '<', moment.utc().startOf('day').toISOString()) - .select('*'); - + let expiredCompedRows = []; + if (DatabaseInfo.isMySQL(db.knex)) { + expiredCompedRows = await db.knex('members_products') + .where('expiry_at', '<', moment.utc().startOf('day').toISOString()) + .select('*'); + } else { + expiredCompedRows = await db.knex('members_products') + .where('expiry_at', '<', moment.utc().startOf('day').valueOf()) + .select('*'); + } let deletedExpiredSubs = 0; let updatedMembers = 0; From a92b84ba3cdfe6344d81e039f4ecbd8792cccbfb Mon Sep 17 00:00:00 2001 From: Cathy Sarisky Date: Wed, 12 Feb 2025 19:49:05 -0500 Subject: [PATCH 2/2] lint --- .../core/server/services/members/jobs/clean-expired-comped.js | 1 - 1 file changed, 1 deletion(-) diff --git a/ghost/core/core/server/services/members/jobs/clean-expired-comped.js b/ghost/core/core/server/services/members/jobs/clean-expired-comped.js index cd7b5573a78..e8264d4a2d3 100644 --- a/ghost/core/core/server/services/members/jobs/clean-expired-comped.js +++ b/ghost/core/core/server/services/members/jobs/clean-expired-comped.js @@ -5,7 +5,6 @@ const debug = require('@tryghost/debug')('jobs:clean-expired-comped'); const moment = require('moment'); const DatabaseInfo = require('@tryghost/database-info'); - // recurring job to clean expired complimentary subscriptions // Exit early when cancelled to prevent stalling shutdown. No cleanup needed when cancelling as everything is idempotent and will pick up