module.exports = { up: (queryInterface, Sequelize) => { // logic for transforming into the new state const p1 = queryInterface.removeColumn( 'Certificate', 'UserId' ); const p2 = queryInterface.addColumn( 'Certificate', 'ChannelId', { type : Sequelize.INTEGER, allowNull: true, } ); const p3 = queryInterface.addConstraint( 'Certificate', ['ChannelId'], { type : 'FOREIGN KEY', name : 'Certificate_ibfk_1', references: { table: 'Channel', field: 'id', }, onUpdate: 'cascade', onDelete: 'cascade', } ); const p4 = queryInterface.changeColumn( 'Claim', 'FileId', { type : Sequelize.INTEGER, allowNull: true, } ); const p5 = queryInterface.addConstraint( 'Claim', ['FileId'], { type : 'FOREIGN KEY', name : 'Claim_ibfk_1', references: { table: 'File', field: 'id', }, onUpdate: 'cascade', onDelete: 'cascade', } ); const p6 = queryInterface.removeColumn( 'File', 'UserId' ); return Promise.all([p1, p2, p3, p4, p5, p6]); }, down: (queryInterface, Sequelize) => { // logic for reverting the changes const p1 = queryInterface.addColumn( 'Certificate', 'UserId', { type : Sequelize.INTEGER, allowNull: true, } ); const p2 = queryInterface.addColumn( 'File', 'UserId', { type : Sequelize.INTEGER, allowNull: true, } ); return Promise.all([p1, p2]); }, };