@tomei/finance
Version:
NestJS package for finance module
90 lines (87 loc) • 2.2 kB
JavaScript
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('finance_LedgerTransaction', {
LedgerNo: {
type: Sequelize.STRING(30),
primaryKey: true,
allowNull: false,
},
TransactionType: {
type: Sequelize.STRING(20),
allowNull: false,
},
JournalEntryId: {
type: Sequelize.STRING(30),
allowNull: false,
references: {
model: 'finance_JournalEntry',
key: 'JournalEntryId',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
AccountNo: {
type: Sequelize.STRING(30),
allowNull: false,
references: {
model: 'finance_Account',
key: 'AccountNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
Date: {
type: Sequelize.DATE,
allowNull: false,
},
Description: {
type: Sequelize.STRING(1000),
allowNull: false,
},
Currency: {
type: Sequelize.CHAR(3),
allowNull: false,
},
DebitAmount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
CreditAmount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
RelatedObjectId: {
type: Sequelize.STRING(30),
allowNull: true,
},
RelatedObjectType: {
type: Sequelize.STRING(200),
allowNull: true,
},
RelatedDocNo: {
type: Sequelize.STRING(30),
allowNull: true,
references: {
model: 'finance_Document',
key: 'DocNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
RelatedPaymentId: {
type: Sequelize.STRING(30),
allowNull: true,
references: {
model: 'finance_Payment',
key: 'PaymentId',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
});
},
async down(queryInterface) {
await queryInterface.dropTable('finance_LedgerTransaction');
},
};