@tomei/finance
Version:
NestJS package for finance module
97 lines (94 loc) • 2.3 kB
JavaScript
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('finance_Payment', {
PaymentId: {
type: Sequelize.STRING(30),
primaryKey: true,
allowNull: false,
},
PaymentType: {
type: Sequelize.ENUM(['Payment Received', 'Payout']),
defaultValue: 'Payment Received',
allowNull: false,
},
PaymentDate: {
type: Sequelize.DATE,
allowNull: false,
},
Description: {
type: Sequelize.STRING(1000),
allowNull: false,
},
Currency: {
type: Sequelize.CHAR(3),
allowNull: false,
},
Amount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: false,
},
Status: {
type: Sequelize.STRING(20),
allowNull: false,
},
ReceivedBy: {
type: Sequelize.STRING(30),
allowNull: true,
},
IssuedBy: {
type: Sequelize.STRING(30),
allowNull: true,
},
UpdatedAt: {
type: Sequelize.DATE,
allowNull: false,
},
UpdatedBy: {
type: Sequelize.STRING(30),
allowNull: false,
},
Remarks: {
type: Sequelize.TEXT,
allowNull: true,
},
RelatedObjectId: {
type: Sequelize.STRING(30),
allowNull: true,
},
RelatedObjectType: {
type: Sequelize.STRING(200),
allowNull: true,
},
ReceiptDocNo: {
type: Sequelize.STRING(30),
allowNull: true,
references: {
model: 'finance_Document',
key: 'DocNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
AccSystemRefId: {
type: Sequelize.STRING(30),
allowNull: true,
},
PostedToAccSystemYN: {
type: Sequelize.ENUM(['Y', 'N']),
allowNull: false,
},
PostedById: {
type: Sequelize.STRING(30),
allowNull: true,
},
PostedDateTime: {
type: Sequelize.DATE,
allowNull: true,
},
});
},
async down(queryInterface) {
await queryInterface.dropTable('finance_Payment');
},
};