Comment définir des index sur plusieurs colonnes dans sequelize
Comment puis-je définir un index unique sur une combinaison de colonnes dans sequelize. Par exemple je veux ajouter un index unique sur user_id, le comte et le nom.
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,
})
OriginalL'auteur lboyel | 2017-02-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vous référer à ce doc http://docs.sequelizejs.com/en/latest/docs/models-definition/#indexes
Vous aurez besoin de changer votre defination comme indiqué ci-dessous et appelez sync
Cela ne fonctionne pas pour moi. Ni faire aucune des réponses ci-dessous. Je suis en train de lancer une requête équivalent à ceci:
CREATE TABLE scores (id INT PRIMARY KEY NOT NULL, oppId INT NOT NULL, oppType TEXT NOT NULL, tree TEXT NOT NULL, version INT NOT NULL, score JSON NOT NULL, CONSTRAINT uniq_scores UNIQUE(oppId, oppType, tree, version));
. Lorsque j'utilise les index uniques avec sequelize je suis encore capable de créer deux lignes avec les mêmes valeurs dans ces colonnes. Quelqu'un d'autre a ces questions?parce que seuls les processus en sequelize lui-même
OriginalL'auteur Keval Gohil
OriginalL'auteur Sunny S.M
Si l'on a accepté l'un ne fonctionne pas alors essayez le code ci-dessous. Il a travaillé pour moi dans mon cas, plutôt accepté.
OriginalL'auteur M.A.K. Ripon