@tomei/live-price
Version:
Tomei live-price Package
47 lines (38 loc) • 1.55 kB
JavaScript
;
/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
const transaction = await queryInterface.sequelize.transaction();
try {
// Add CompanyCode column to price_FeedManualPriceHistory table
await queryInterface.addColumn('price_FeedManualPriceHistory', 'CompanyCode', {
type: Sequelize.STRING(10),
allowNull: true,
defaultValue: 'CTH',
comment: 'Company code for multi-company support'
}, { transaction });
// Add composite index for better query performance
await queryInterface.addIndex('price_FeedManualPriceHistory', {
fields: ['FeedName', 'CompanyCode', 'Status'],
name: 'idx_manual_price_history_feed_company_status'
}, { transaction });
await transaction.commit();
} catch (error) {
await transaction.rollback();
throw error;
}
},
async down(queryInterface, Sequelize) {
const transaction = await queryInterface.sequelize.transaction();
try {
// Remove index first
await queryInterface.removeIndex('price_FeedManualPriceHistory', 'idx_manual_price_history_feed_company_status', { transaction });
// Remove CompanyCode column
await queryInterface.removeColumn('price_FeedManualPriceHistory', 'CompanyCode', { transaction });
await transaction.commit();
} catch (error) {
await transaction.rollback();
throw error;
}
}
};