@tomei/finance
Version:
NestJS package for finance module
123 lines (120 loc) • 2.81 kB
JavaScript
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('finance_Document', {
DocNo: {
type: Sequelize.STRING(30),
primaryKey: true,
allowNull: false,
},
DocType: {
type: Sequelize.ENUM([
'Invoice',
'Debit Note',
'Credit Note',
'Quotation',
'Receipt',
'Purchase Order',
]),
allowNull: false,
},
DocDate: {
type: Sequelize.DATE,
allowNull: false,
},
CompanyId: {
type: Sequelize.STRING(30),
allowNull: false,
references: {
model: 'finance_Company',
key: 'CompanyId',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
Currency: {
type: Sequelize.CHAR(3),
allowNull: false,
},
Amount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: false,
},
Description: {
type: Sequelize.STRING(1000),
allowNull: false,
},
Status: {
type: Sequelize.ENUM(['Unpaid', 'Paid', 'Partial Paid', 'Cancelled']),
allowNull: false,
},
IssuedById: {
type: Sequelize.STRING(30),
allowNull: false,
},
IssuedToId: {
type: Sequelize.STRING(30),
allowNull: false,
},
IssuedToType: {
type: Sequelize.STRING(200),
allowNull: false,
},
RelatedObjectId: {
type: Sequelize.STRING(30),
allowNull: true,
},
RelatedObjectType: {
type: Sequelize.STRING(200),
allowNull: true,
},
CreatedById: {
type: Sequelize.STRING(30),
allowNull: false,
},
CreatedAt: {
type: Sequelize.DATE,
allowNull: false,
},
UpdatedById: {
type: Sequelize.STRING(30),
allowNull: true,
},
UpdatedAt: {
type: Sequelize.DATE,
allowNull: true,
},
DocPDFFileMediaId: {
type: Sequelize.STRING(30),
allowNull: true,
},
DocHTMLFileMediaId: {
type: Sequelize.STRING(30),
allowNull: true,
},
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,
},
UseAccSystemDocYN: {
type: Sequelize.ENUM(['Y', 'N']),
allowNull: false,
},
});
},
async down(queryInterface) {
await queryInterface.dropTable('finance_Document');
},
};