@tomei/product
Version:
NestJS package for product module
92 lines (91 loc) • 2.15 kB
JavaScript
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('product_Product', {
ProductId: {
allowNull: false,
primaryKey: true,
type: Sequelize.STRING,
},
Name: {
type: Sequelize.STRING(1000),
},
Description: {
type: Sequelize.STRING(3000),
},
SKU: {
type: Sequelize.STRING(30),
allowNull: false,
unique: true,
},
Type: {
type: Sequelize.ENUM(['Physical', 'Service', 'Digital Product']),
},
Remark: {
type: Sequelize.STRING(5000),
},
IsTaxableYN: {
type: Sequelize.ENUM(['Y', 'N']),
},
TaxCode: {
type: Sequelize.STRING(10),
allowNull: true,
},
IsPriceInclusiveTaxYN: {
type: Sequelize.ENUM(['Y', 'N']),
allowNull: false,
},
Status: {
type: Sequelize.ENUM(['Active', 'Inactive', 'Deleted', 'Discontinued']),
defaultValue: 'Active',
},
VerifiedYN: {
type: Sequelize.ENUM(['Y', 'N']),
defaultValue: 'N',
},
VerifiedAt: {
type: Sequelize.DATE,
},
VerifiedById: {
type: Sequelize.STRING,
},
VariantLevels: {
type: Sequelize.INTEGER,
allowNull: false,
},
VariantTypeLevel1: {
type: Sequelize.STRING(30),
},
VariantTypeLevel2: {
type: Sequelize.STRING(30),
},
VariantTypeLevel3: {
type: Sequelize.STRING(30),
},
UpdatedSSYN: {
type: Sequelize.CHAR(1),
allowNull: false,
defaultValue: 'N',
},
CreatedById: {
type: Sequelize.STRING,
},
CreatedAt: {
allowNull: false,
defaultValue: new Date(),
type: Sequelize.DATE,
},
UpdatedById: {
type: Sequelize.STRING,
},
UpdatedAt: {
allowNull: false,
defaultValue: new Date(),
type: Sequelize.DATE,
},
});
},
down: (queryInterface) => {
return queryInterface.dropTable('product_Product');
},
};