'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
// CockroachDB: add enum values in place, then rename the column.
// Type is named 'notification_broadcast_audience' (matches the explicit CREATE TYPE
// used when this table was first created — not Sequelize's default enum_
_ name).
await queryInterface.sequelize.query(`ALTER TYPE public.notification_broadcast_audience ADD VALUE IF NOT EXISTS 'task_list'`);
await queryInterface.sequelize.query(`ALTER TYPE public.notification_broadcast_audience ADD VALUE IF NOT EXISTS 'course'`);
await queryInterface.sequelize.query(`ALTER TYPE public.notification_broadcast_audience ADD VALUE IF NOT EXISTS 'tier_plan'`);
await queryInterface.renameColumn('notification_broadcasts', 'audience', 'target_type');
await queryInterface.addColumn('notification_broadcasts', 'target_id', {
type: Sequelize.STRING(64),
allowNull: true,
});
await queryInterface.removeIndex('notification_broadcasts', ['audience']).catch(() => {});
await queryInterface.addIndex('notification_broadcasts', ['target_type']);
},
async down(queryInterface) {
await queryInterface.removeColumn('notification_broadcasts', 'target_id');
await queryInterface.renameColumn('notification_broadcasts', 'target_type', 'audience');
},
};