'use strict'; /** @type {import('sequelize-cli').Migration} */ module.exports = { async up (queryInterface, Sequelize) { /** * Add altering commands here. * * Example: * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); */ const transaction = await queryInterface.sequelize.transaction(); try { await queryInterface.addColumn( 'Users', 'tmRacerId', { allowNull: true, type: Sequelize.NUMBER, references: { model: { tableName: 'Racers', }, key: 'id', }, }, { transaction } ); await queryInterface.addColumn( 'Racers', 'userId', { allowNull: true, type: Sequelize.STRING, references: { model: { tableName: 'Users', }, key: 'auth0id', }, }, { transaction } ); await transaction.commit(); } catch (err) { await transaction.rollback(); throw err; } }, async down (queryInterface, Sequelize) { /** * Add reverting commands here. * * Example: * await queryInterface.dropTable('users'); */ const transaction = await queryInterface.sequelize.transaction(); try { await queryInterface.removeColumn('Users', 'tmRacerId', { transaction }); await queryInterface.removeColumn('Racers', 'userId', { transaction }); await transaction.commit(); } catch (err) { await transaction.rollback(); throw err; } } };