'use strict'; module.exports = { async up(queryInterface, Sequelize) { await queryInterface.createTable('user_group_members', { group_id: { type: Sequelize.BIGINT, primaryKey: true, references: { model: 'user_groups', key: 'group_id' }, onDelete: 'CASCADE' }, user_id: { type: Sequelize.BIGINT, primaryKey: true, references: { model: 'users', key: 'user_id' }, onDelete: 'CASCADE' }, joined_at: { type: Sequelize.DATE, defaultValue: Sequelize.NOW }, createdBy: { type: Sequelize.BIGINT, allowNull: true }, updatedBy: { type: Sequelize.BIGINT, allowNull: true }, deletedBy: { type: Sequelize.BIGINT, allowNull: true }, createdAt: { type: Sequelize.DATE, allowNull: false }, updatedAt: { type: Sequelize.DATE, allowNull: false }, deletedAt: { type: Sequelize.DATE, allowNull: true }, }); await queryInterface.addIndex('user_group_members', ['user_id']); await queryInterface.addIndex('user_group_members', ['group_id']); }, async down(queryInterface) { await queryInterface.dropTable('user_group_members'); }, };