2017-08-27 3 views
1

Test1: Ajout de "unique: true" dans l'attribut email.Sequelize "unique: vrai" faisant la même clé unique deux fois avec un nom différent

Test2: Ajout de "unique: {args: true, msg:" xxxxxx "}" dans l'attribut email.

En utilisant Sequelize: 4.7.5 & MySQL: 5.7.19

Je me attends, il y aura un indice pour les deux cas de test.

Mais j'obtiens deux index pour le Test1. Les deux index ont même colonne mais nom de clé différent.

Est-ce un bug ou je fais quelque chose de mal?

Essayez les modèles suivants.

Test1 = { 
id: { 
    type: Sequelize.INTEGER.UNSIGNED, 
    primaryKey: true, 
    autoIncrement: true 
}, 

emailId: { 
    type: Sequelize.STRING, 
    unique: true, 
    allowNull: false, 
    validate: { 
     isEmail: { 
      args: true, 
      msg: 'Invalid email id.' 
     } 
    } 
} 
} 


Test2 = { 
id: { 
    type: Sequelize.INTEGER.UNSIGNED, 
    primaryKey: true, 
    autoIncrement: true 
}, 

emailId: { 
    type: Sequelize.STRING, 
    unique: { 
     args: true, 
     msg: 'This email id is already registered.' 
    }, 
    allowNull: false, 
    validate: { 
     isEmail: { 
      args: true, 
      msg: 'Invalid email id.' 
     } 
    } 
} 
} 

Répondre