首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未处理的拒绝SequelizeUniqueConstraintError:验证错误

未处理的拒绝SequelizeUniqueConstraintError:验证错误
EN

Stack Overflow用户
提问于 2016-11-21 05:08:30
回答 3查看 48K关注 0票数 18

我得到了这个错误:

代码语言:javascript
复制
Unhandled rejection SequelizeUniqueConstraintError: Validation error

我该如何解决这个问题呢?

这是我的模型/user.js

代码语言:javascript
复制
"use strict";

module.exports = function(sequelize, DataTypes) {
  var User = sequelize.define("User", {
    id:  { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true},
    name: DataTypes.STRING,
    environment_hash: DataTypes.STRING
  }, {
    tableName: 'users',
    underscored: false,
    timestamps: false
  }

  );

  return User;
};

这是我的routes.js:

代码语言:javascript
复制
app.post('/signup', function(request, response){

        console.log(request.body.email);
        console.log(request.body.password);

        User
        .find({ where: { name: request.body.email } })
            .then(function(err, user) {
                if (!user) {
                        console.log('No user has been found.');

                        User.create({ name: request.body.email }).then(function(user) {
                            // you can now access the newly created task via the variable task
                            console.log('success');
                        });

                } 
            });



    });
EN

回答 3

Stack Overflow用户

发布于 2018-06-04 06:23:09

我的QA数据库有这个问题。有时新记录会保存到数据库中,有时会失败。在我的dev工作站上执行相同的过程时,每次都会成功。

当我捕捉到错误(per @doublesharp的好建议)并将完整的结果打印到控制台时,它确认违反了一个唯一的约束-具体地说,就是主键id列,该列被设置为默认的自动递增的值。

我用记录作为数据库的种子,尽管这些记录的id也被设置为自动递增,但200多条记录的id分散在1和2000之间,但是数据库的自动递增序列被设置为从1开始。通常序列中的下一个id是未使用的,但偶尔它已经被占用,数据库将返回此错误。

我使用answer here将序列重置为在最后一条种子记录之后开始,现在它每次都有效。

票数 6
EN

Stack Overflow用户

发布于 2019-07-12 03:40:11

基于@Ricardo Machado的回答,如果您将unique:true添加到模型中,并且现有表中已有在此新约束下不允许的值,您将得到此错误。要修复此问题,您可以手动删除行或删除表,然后Sequelize再次构建它。

票数 3
EN

Stack Overflow用户

发布于 2021-02-05 04:12:56

如果您在Sequelize:中偶然发现了这个Validation error,请检查填充(创建)表的查询是否只执行了一次。

我的Nest.js应用程序没有正确设置,并且执行了两次相同的命令,从而违反了唯一约束。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40709409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档