From 8af422c601d0b764ecc37c858d1d3622c01d96c8 Mon Sep 17 00:00:00 2001 From: Simon Backx Date: Wed, 28 Sep 2022 17:12:29 +0200 Subject: [PATCH] Updated email_track_clicks to current email_track_opens value (#15484) fixes https://github.com/TryGhost/Team/issues/1990 We need to set the current track clicks setting to the current track opens setting, just before release. --- ...7-16-49-set-track-clicks-based-on-opens.js | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ghost/core/core/server/data/migrations/versions/5.17/2022-09-27-16-49-set-track-clicks-based-on-opens.js diff --git a/ghost/core/core/server/data/migrations/versions/5.17/2022-09-27-16-49-set-track-clicks-based-on-opens.js b/ghost/core/core/server/data/migrations/versions/5.17/2022-09-27-16-49-set-track-clicks-based-on-opens.js new file mode 100644 index 0000000000..ca3c94f98b --- /dev/null +++ b/ghost/core/core/server/data/migrations/versions/5.17/2022-09-27-16-49-set-track-clicks-based-on-opens.js @@ -0,0 +1,31 @@ +const logging = require('@tryghost/logging'); +const {createTransactionalMigration} = require('../../utils'); + +// Set email_track_clicks to the current value of email_track_opens +module.exports = createTransactionalMigration( + async function up(connection) { + const reuseValueOfSetting = await connection('settings') + .where('key', '=', 'email_track_opens') + .first(); + + if (!reuseValueOfSetting) { + logging.warn(`Skipped setting email_track_clicks to current value of email_track_opens - email_track_opens not found`); + return; + } + + const affectedRows = await connection('settings') + .update({ + value: reuseValueOfSetting.value + }) + .where('key', '=', 'email_track_clicks'); + + if (affectedRows === 1) { + logging.info(`Set email_track_clicks to ${reuseValueOfSetting.value} (current email_track_opens value)`); + } else { + logging.warn(`Tried setting email_track_clicks to ${reuseValueOfSetting.value} — ${affectedRows} changes`); + } + }, + async function down() { + // no-op: we don't need to change it back + } +);