'use strict' module.exports = (sequelize, DataTypes) => { var group = sequelize.define('group', { id: { allowNull: false, autoIncrement: true, primaryKey: true, type: DataTypes.INTEGER }, name: DataTypes.STRING }, { timestamps: false }) var GroupXGroup = sequelize.define('group_x_group', {}, { timestamps: false, freezeTableName: true }) group.associate = function (models) { group.belongsToMany(group, { as: 'parents', through: GroupXGroup, foreignKey: 'childId', otherKey: 'parentId'}) } return group }