Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So definieren Sie einen eindeutigen Index für mehrere Spalten in Sequelize

Sie können auf dieses Dokument verweisen http://docs.sequelizejs. com/en/latest/docs/models-definition/#indexes

Sie müssen Ihre Definition wie unten gezeigt ändern und die Synchronisierung aufrufen

var Tag = sequelize.define('Tag', {
    id: {
        type: DataTypes.INTEGER(11),
        allowNull: false,
        primaryKey: true,
        autoIncrement: true
    },
    user_id: {
        type: DataTypes.INTEGER(11),
        allowNull: false,
    },
    count: {
        type: DataTypes.INTEGER(11),
        allowNull: true
    },
    name: {
        type: DataTypes.STRING,
        allowNull: true,
    }
},
{
    indexes: [
        {
            unique: true,
            fields: ['user_id', 'count', 'name']
        }
    ]
});