UNPKG

@tomei/sso

Version:
86 lines (83 loc) 1.97 kB
'use strict'; /** @type {import('sequelize-cli').Migration} */ module.exports = { async up(queryInterface, Sequelize) { await queryInterface.createTable('sso_ApiKey', { APIKeyId: { primaryKey: true, type: Sequelize.INTEGER, allowNull: false, autoIncrement: true, }, APIKey: { type: Sequelize.STRING(128), allowNull: false, unique: true, }, Name: { type: Sequelize.STRING(255), allowNull: false, }, SystemCode: { type: Sequelize.STRING(10), allowNull: false, references: { model: 'sso_System', key: 'SystemCode', }, onDelete: 'CASCADE', onUpdate: 'CASCADE', }, Description: { type: Sequelize.TEXT, allowNull: true, }, Status: { type: Sequelize.STRING(50), defaultValue: 'Active', allowNull: false, }, ExpirationDate: { allowNull: false, type: Sequelize.DATE, }, CreatedAt: { allowNull: false, defaultValue: Sequelize.literal('CURRENT_TIMESTAMP(3)'), type: Sequelize.DATE, }, CreatedById: { type: Sequelize.INTEGER, allowNull: true, references: { model: 'sso_User', key: 'UserId', }, onDelete: 'CASCADE', onUpdate: 'CASCADE', }, RevokedAt: { allowNull: true, type: Sequelize.DATE, }, RevokedById: { type: Sequelize.INTEGER, allowNull: true, references: { model: 'sso_User', key: 'UserId', }, onDelete: 'CASCADE', onUpdate: 'CASCADE', }, RevokedReason: { type: Sequelize.TEXT, defaultValue: 'Active', allowNull: true, }, }); }, async down(queryInterface) { await queryInterface.dropTable('sso_APIKey'); }, };