@tomei/finance
Version:
NestJS package for finance module
112 lines (109 loc) • 2.55 kB
JavaScript
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable('finance_DocumentItem', {
DocumentItemId: {
type: Sequelize.STRING(30),
allowNull: false,
primaryKey: true,
},
DocNo: {
type: Sequelize.STRING(30),
allowNull: false,
references: {
model: 'finance_Document',
key: 'DocNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
Name: {
type: Sequelize.STRING(200),
allowNull: false,
},
NameBM: {
type: Sequelize.STRING(200),
allowNull: false,
},
Description: {
type: Sequelize.STRING(1000),
allowNull: true,
},
ItemId: {
type: Sequelize.STRING(30),
allowNull: true,
},
ItemType: {
type: Sequelize.STRING(200),
allowNull: true,
},
ItemSKU: {
type: Sequelize.STRING(30),
allowNull: true,
},
ItemSerialNo: {
type: Sequelize.STRING(30),
allowNull: true,
},
Currency: {
type: Sequelize.CHAR(3),
allowNull: false,
},
UnitPrice: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
Quantity: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
QuantityUOM: {
type: Sequelize.STRING(20),
allowNull: true,
},
Amount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: false,
},
TaxCode: {
type: Sequelize.STRING(30),
allowNull: true,
},
TaxAmount: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
TaxRate: {
type: Sequelize.DECIMAL(10, 2),
allowNull: true,
},
TaxInclusiveYN: {
type: Sequelize.ENUM(['Y', 'N']),
allowNull: true,
},
DtAccountNo: {
type: Sequelize.STRING(30),
allowNull: true,
references: {
model: 'finance_Account',
key: 'AccountNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
CtAccountNo: {
type: Sequelize.STRING(30),
allowNull: true,
references: {
model: 'finance_Account',
key: 'AccountNo',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
});
},
async down(queryInterface) {
await queryInterface.dropTable('finance_DocumentItem');
},
};