我想插入用户名、密码和角色。但是当我执行我的函数时,角色属性不会被执行。
这是我的迁移文件:
id: {
allowNull: false,
autoIncrement: true,
primaryKey: true,
type: Sequelize.INTEGER
},
username: {
type: Sequelize.STRING,
unique: true,
},
password: {
type: Sequelize.STRING,
allowNull: false,
},
role: {
type: Sequelize.STRING,
allowNull: false,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
这是我插入新数据的功能(usermodel.js) static register = ({ username, password }) => {
const encryptedPassword = this.encrypt(password);
return this.create({ username, password: encryptedPassword, role: 'user' })
}
这是我执行函数时得到的:Executing (default): INSERT INTO "UserModel" ("id","username","password","createdAt","updatedAt") VALUES (DEFAULT,$1,$2,$3,$4) RETURNING "id","username","password","createdAt","updatedAt";
有什么我做错了吗?任何帮助将不胜感激,谢谢!
最佳答案
显然,问题出在模型内部。我还没有在模型初始化中定义角色。我通过在模型中添加角色来解决它:
UserModel.init({
username: DataTypes.STRING,
password: DataTypes.STRING,
role: DataTypes.STRING
}
关于postgresql - 属性无法在 Sequelize Model Create 中正确插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67068908/