diff --git a/backend/src/database/migrations/20241101014358-email-messages-aggregation-index.js b/backend/src/database/migrations/20241101014358-email-messages-aggregation-index.js new file mode 100644 index 000000000..7563f27fb --- /dev/null +++ b/backend/src/database/migrations/20241101014358-email-messages-aggregation-index.js @@ -0,0 +1,15 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + await queryInterface.addIndex('email_messages', { + name: 'email_messages_campaign_id_status_error_code', + fields: ['campaign_id', 'status', 'error_code'], + concurrently: true, + }) + }, + + down: async (queryInterface, Sequelize) => { + await queryInterface.removeIndex('email_messages', 'email_messages_campaign_id_status_error_code') + } +}; diff --git a/backend/src/database/migrations/20241101015340-remove-email-messages-campaign_id_indx.js b/backend/src/database/migrations/20241101015340-remove-email-messages-campaign_id_indx.js new file mode 100644 index 000000000..51796627a --- /dev/null +++ b/backend/src/database/migrations/20241101015340-remove-email-messages-campaign_id_indx.js @@ -0,0 +1,15 @@ +'use strict'; + +module.exports = { + up: async (queryInterface, Sequelize) => { + await queryInterface.removeIndex('email_messages', 'email_messages_campaign_id') + }, + + down: async (queryInterface, Sequelize) => { + await queryInterface.addIndex('email_messages', { + name: 'email_messages_campaign_id', + fields: ['campaign_id'], + concurrently: true, + }) + } +};