@tomei/finance
Version:
NestJS package for finance module
91 lines (87 loc) • 3.22 kB
JavaScript
'use strict';
module.exports = {
up: async (queryInterface, Sequelize) => {
const transaction = await queryInterface.sequelize.transaction();
try {
await queryInterface.addColumn(
'finance_Document',
'AmountBeforeDiscount',
{
allowNull: true,
type: Sequelize.DECIMAL(10, 2),
after: 'Currency'
},
{ transaction },
);
await queryInterface.addColumn(
'finance_Document',
'DiscountType',
{
allowNull: true,
type: Sequelize.ENUM('Percentage', 'Fixed'),
after: 'Amount'
},
{ transaction },
);
await queryInterface.addColumn(
'finance_Document',
'DiscountValue',
{
allowNull: true,
type: Sequelize.DECIMAL(10, 2),
after: 'Amount'
},
{ transaction },
);
await queryInterface.addColumn(
'finance_DocumentItem',
'AmountBeforeDiscount',
{
allowNull: true,
type: Sequelize.DECIMAL(10, 2),
after: 'QuantityUOM'
},
{ transaction },
);
await queryInterface.addColumn(
'finance_DocumentItem',
'DiscountType',
{
allowNull: true,
type: Sequelize.ENUM('Percentage', 'Fixed'),
after: 'Amount'
},
{ transaction },
);
await queryInterface.addColumn(
'finance_DocumentItem',
'DiscountValue',
{
allowNull: true,
type: Sequelize.DECIMAL(10, 2),
after: 'Amount'
},
{ transaction },
);
await transaction.commit();
} catch (error) {
await transaction.rollback();
throw error;
}
},
down: async (queryInterface) => {
const transaction = await queryInterface.sequelize.transaction();
try {
await queryInterface.removeColumn('finance_Document', 'AmountBeforeDiscount', { transaction });
await queryInterface.removeColumn('finance_Document', 'DiscountType', { transaction });
await queryInterface.removeColumn('finance_Document', 'DiscountValue', { transaction });
await queryInterface.removeColumn('finance_DocumentItem', 'AmountBeforeDiscount', { transaction });
await queryInterface.removeColumn('finance_DocumentItem', 'DiscountType', { transaction });
await queryInterface.removeColumn('finance_DocumentItem', 'DiscountValue', { transaction });
await transaction.commit();
} catch (error) {
await transaction.rollback();
throw error;
}
}
};