UNPKG

@tomei/customer-base

Version:

Tomei Customer Base Package

93 lines (90 loc) 2.2 kB
'use strict'; module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable('customer_SyncLog', { SyncLogId: { allowNull: false, primaryKey: true, type: Sequelize.STRING(30), }, CustomerId: { allowNull: false, primaryKey: true, type: Sequelize.STRING(30), references: { model: 'customer_Base', key: 'CustomerId', }, onUpdate: 'CASCADE', onDelete: 'CASCADE', }, SourceSystemCode: { allowNull: false, type: Sequelize.STRING(5), }, TargetSystemCode: { allowNull: false, type: Sequelize.STRING(5), }, EventId: { allowNull: true, type: Sequelize.STRING(30), }, EventType: { allowNull: true, type: Sequelize.ENUM('Insert', 'Update', 'Delete'), }, Status: { allowNull: true, type: Sequelize.ENUM('Pending', 'Success', 'Skipped', 'Failed'), }, PayloadSnapshot: { allowNull: true, type: Sequelize.JSON, }, TrigerredBy: { allowNull: false, type: Sequelize.STRING(10), }, QueueJobId: { allowNull: true, type: Sequelize.STRING(30), }, SyncedAt: { allowNull: true, type: Sequelize.DATE, }, CreatedAt: { allowNull: false, defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'), type: Sequelize.DATE, }, UpdatedAt: { allowNull: false, defaultValue: Sequelize.literal( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', ), type: Sequelize.DATE, }, RetryCount: { allowNull: true, type: Sequelize.INTEGER, }, LastErrorMessage: { allowNull: true, type: Sequelize.TEXT, }, LastAttemptAt: { allowNull: true, type: Sequelize.DATE, }, LastStatus: { allowNull: true, type: Sequelize.STRING(10), }, }); }, down: async (queryInterface) => { await queryInterface.dropTable('customer_SyncLog'); }, };