问题描述
我在尝试将我的 Cognito 用户子 UUID 添加到我的 Sequelize 表时遇到了很多问题。我已经看到 Sequelize 自动生成自己的 UUID 而不是自定义 UUID 的解决方案?我正在从客户端推送 AWS 子 UUID 作为 express 中的负载。
模型文件:
function User(sequelize) {
const User = sequelize.define(
"User",{
id: {
type: DataTypes.UUID,primaryKey: true,allowNull: false,},
客户端
console.log('result: ',user);
console.log('result: ',user.userSub,typeof user.userSub);
console.log('uuid result: ',uuidParse(user.userSub),typeof uuidParse(user.userSub));
let payload = {
id: user.userSub,username: username,email: email,birthday: birthdate
}
const request = {
url: `/api/user`,method: 'POST',payload,};
query(request);
错误:
"name":"SequelizeValidationError","errors":[{"message":"User.id cannot be null","type":"notNull Violation","path":"id","value":null,"origin":"CORE"
谢谢
解决方法
刚刚想通了,我好像忘记在模型的 createUser 方法中的参数中添加 id 了。一切正常
User.createUser = async function ({ **id**,username,email,bio,birthday,gender }) {
return await this.create({
**id**,gender
});
};