@tomei/live-price
Version:
Tomei live-price Package
75 lines (71 loc) • 2 kB
JavaScript
'use strict';
module.exports = {
async up(queryInterface, Sequelize) {
const tables = await queryInterface.showAllTables();
// Only create table if it doesn't exist
if (!tables.includes('price_CompanyFeedAccess')) {
await queryInterface.createTable('price_CompanyFeedAccess', {
CompanyAccessId: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER,
},
CompanyCode: {
type: Sequelize.STRING(30),
allowNull: false,
},
FeedName: {
type: Sequelize.STRING(50),
allowNull: false,
},
IsActiveYN: {
type: Sequelize.CHAR(1),
allowNull: false,
defaultValue: 'Y',
},
CreatedById: {
type: Sequelize.INTEGER,
allowNull: false,
},
CreatedAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'),
},
UpdatedById: {
type: Sequelize.INTEGER,
allowNull: false,
},
UpdatedAt: {
allowNull: false,
type: Sequelize.DATE,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
}
}, {
indexes: [
{
unique: true,
fields: ['CompanyCode', 'FeedName'],
name: 'unique_company_feed'
},
{
fields: ['CompanyCode'],
name: 'idx_company_code'
},
{
fields: ['FeedName'],
name: 'idx_feed_name'
},
{
fields: ['IsActiveYN'],
name: 'idx_is_active_yn'
}
],
});
}
},
async down(queryInterface, Sequelize) {
await queryInterface.dropTable('price_CompanyFeedAccess');
}
};