module.exports = { up: async (queryInterface, Sequelize) => { await queryInterface.createTable('collection_users', { collectionId: { type: Sequelize.UUID, allowNull: false, references: { model: 'collections', }, }, userId: { type: Sequelize.UUID, allowNull: false, references: { model: 'users', }, }, permission: { type: Sequelize.STRING, allowNull: false }, createdById: { type: Sequelize.UUID, allowNull: false, references: { model: 'users', }, }, createdAt: { type: Sequelize.DATE, allowNull: false, }, updatedAt: { type: Sequelize.DATE, allowNull: false, } }); await queryInterface.addColumn('collections', 'private', { type: Sequelize.BOOLEAN, allowNull: false, defaultValue: false }); await queryInterface.addIndex('collection_users', ['collectionId', 'userId']); }, down: async (queryInterface, Sequelize) => { await queryInterface.dropTable('collection_users'); await queryInterface.removeColumn('collections', 'private'); await queryInterface.removeIndex('collection_users', ['collectionId', 'userId']); }, };