属性 无法在 Sequelize 模型创建中正确插入

Property won't insert properly in Sequelize Model Create

我想插入用户名、密码和角色。但是当我执行我的功能时,角色属性不会被执行。

这是我的迁移文件:

            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,,,,) RETURNING "id","username","password","createdAt","updatedAt";

我有什么地方做错了吗?任何帮助将不胜感激,谢谢!

显然,问题出在模型中。我还没有在模型初始化中定义角色。我通过在模型中添加角色来解决它:

UserModel.init({
        username: DataTypes.STRING,
        password: DataTypes.STRING,
        role: DataTypes.STRING
    }