Sequelize(4.2.0):自定义验证消息不适用于迁移

时间:2017-07-06 14:18:58

标签: mysql node.js sequelize.js sequelize-cli

我正在学习如何使用sequelize,到目前为止它是一个很好的ORM,但我坚持使用自定义验证消息。

我正在使用sequelize-cli库来处理迁移,我发现了一个问题,如果使用sequelize-cli创建表,自定义验证消息不起作用,我尝试使用sequelize.sync方法来创建桌子和它工作。

代码

这是我使用自定义验证消息

创建字段的方法

Wallet.js

  userId: {
    type: DataTypes.UUID,
      unique: {
        name: 'Wallets_userId_unique',
        msg: 'This user already have a wallet'
      }
   },

WalletMigration.js (非实际迁移文件名)

  userId: {
    allowNull: false,
    type: Sequelize.UUID,
    unique: true,
  },

当我尝试使用相同的userId创建电子钱包时,我得到Validation error,但我应该This user already have a wallet

我收到的消息是数据库提供的默认消息,因为我在迁移中使用了unique: true,如果我删除了该选项,则模型验证不起作用。

我想知道我该怎么做才能改变这种行为,或者我错过了什么?

0 个答案:

没有答案