Here is a simple answer:
major: { type: DataTypes.INTEGER, unique: 'compositeIndex'},
minor: { type: DataTypes.INTEGER, unique: 'compositeIndex'}
source: http://docs.sequelizejs.com/en/latest/docs/models-definition/
You can also create a unique constraint using your ownToMany associations, if this is a join table:
Major = sequelize.define('major', {})
Minor = sequelize.define('minor', {})
Major.belongsToMany(Project)
Minor.belongsToMany(User)
Source: http://docs.sequelizejs.com/en/v3/docs/associations/
. , SQL- up:
up: function(queryInterface, Sequelize) {
return queryInterface.createTable('Item', {
major: {
allowNull: false,
type: Sequelize.INTEGER
},
minor: {
allowNull: false,
type: Sequelize.INTEGER
},
})
.then(function() {
return queryInterface.sequelize.query(
'ALTER TABLE 'Item' ADD UNIQUE 'unique_index'('major', 'minor')'
);
});
:
Sequelize,
Sequelize