Mysql “续集”;独特:真实;使用不同的keyname生成相同的唯一键两次

Mysql “续集”;独特:真实;使用不同的keyname生成相同的唯一键两次,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,Test1:在电子邮件属性中添加“unique:true” Test2:在email属性中添加“unique:{args:true,msg:“xxxxxx”}” 使用Sequelize:4.7.5和MySQL:5.7.19 我希望这两个测试用例都有一个索引 但是我在测试1中得到了两个索引。两个索引都有相同的列,但不同的关键字名 是虫子还是我做错了什么 尝试以下型号的DEF。 Test1 = { id: { type: Sequelize.INTEGER.UNSIGNED, pri

Test1:在电子邮件属性中添加“unique:true”

Test2:在email属性中添加“unique:{args:true,msg:“xxxxxx”}”

使用Sequelize:4.7.5和MySQL:5.7.19

我希望这两个测试用例都有一个索引

但是我在测试1中得到了两个索引。两个索引都有相同的列,但不同的关键字名

是虫子还是我做错了什么

尝试以下型号的DEF。

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.'
        }
    }
}
}

使用字符串代替布尔值。

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.'
        }
    }
}
}
我在这里找到了答案:


Arrr!!!!我错过了issue tracker中的列表。所以我是对的,这是一个错误。