module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.changeColumn('documents', 'atlasId', { type: Sequelize.UUID, allowNull: true, onDelete: 'cascade', references: { model: 'collections', }, }); await queryInterface.changeColumn('documents', 'userId', { type: Sequelize.UUID, allowNull: true, references: { model: 'users', }, }); await queryInterface.changeColumn('documents', 'parentDocumentId', { type: Sequelize.UUID, allowNull: true, references: { model: 'documents', }, }); await queryInterface.changeColumn('documents', 'teamId', { type: Sequelize.UUID, allowNull: true, onDelete: 'cascade', references: { model: 'teams', }, }); }, down: async (queryInterface, Sequelize) => { await queryInterface.sequelize.query( 'ALTER TABLE documents DROP CONSTRAINT "atlasId_foreign_idx";' ); await queryInterface.removeIndex('documents', 'atlasId_foreign_idx'); await queryInterface.sequelize.query( 'ALTER TABLE documents DROP CONSTRAINT "userId_foreign_idx";' ); await queryInterface.removeIndex('documents', 'userId_foreign_idx'); await queryInterface.sequelize.query( 'ALTER TABLE documents DROP CONSTRAINT "parentDocumentId_foreign_idx";' ); await queryInterface.removeIndex( 'documents', 'parentDocumentId_foreign_idx' ); await queryInterface.sequelize.query( 'ALTER TABLE documents DROP CONSTRAINT "teamId_foreign_idx";' ); await queryInterface.removeIndex('documents', 'teamId_foreign_idx'); }, };