diff --git a/core/server/data/importer/importers/data/settings.js b/core/server/data/importer/importers/data/settings.js index 45bcddf343..5a17903fd3 100644 --- a/core/server/data/importer/importers/data/settings.js +++ b/core/server/data/importer/importers/data/settings.js @@ -8,7 +8,8 @@ const keyGroupMapper = require('../../../../api/shared/serializers/input/utils/s const keyTypeMapper = require('../../../../api/shared/serializers/input/utils/settings-key-type-mapper'); const labsDefaults = JSON.parse(defaultSettings.labs.labs.defaultValue); -const ignoredSettings = ['active_apps', 'installed_apps', 'members_from_address', 'members_support_address']; +const ignoredSettings = ['members_from_address', 'members_support_address']; +// NOTE: drop support in Ghost 5.0 const deprecatedSupportedSettingsMap = { default_locale: 'lang', active_timezone: 'timezone', diff --git a/core/server/data/migrations/versions/4.0/05-delete-apps-related-settings-keys.js b/core/server/data/migrations/versions/4.0/05-delete-apps-related-settings-keys.js new file mode 100644 index 0000000000..112ff197c6 --- /dev/null +++ b/core/server/data/migrations/versions/4.0/05-delete-apps-related-settings-keys.js @@ -0,0 +1,18 @@ +const logging = require('../../../../../shared/logging'); + +module.exports = { + config: { + transaction: true + }, + async up({transacting: knex}){ + const settingsKeys = ['installed_apps', 'active_apps']; + logging.info(`Removing ${settingsKeys.join(',')} from "settings" table.`); + + await knex('settings') + .whereIn('key', settingsKeys) + .del(); + }, + async down() { + // noop: no need to recreate any apps as it's a cleanup in major version migration + } +};