NodeJS 从迁移创建模型时,Sequelize构建不是一个功能

4ktjp1zp  于 2022-12-03  发布在  Node.js
关注(0)|答案(2)|浏览(134)

这是我的模型,它是从sequelize cli创建的:(它描述User.js中的用户)

'use strict';
module.exports = (sequelize, DataTypes) => {
  const User = sequelize.define('User', {
    username: DataTypes.STRING
  }, {});
  User.associate = function(models) {
    // associations can be defined here
  };
  return User;
};

当我尝试在脚本文件中创建它时,出现以下错误:

User.build is not a function

下面是调用build方法的方法:

const User = require('../models/User');

  User.build({
        username: message["name"],
    }).save();
yfwxisqw

yfwxisqw1#

在您的情况下,它返回函数而不是构造函数
导入时必须传递sequelizeDataTypes

const User= require('../models/User')(sequelize, DataTypes);

希望对你有用

l7wslrjt

l7wslrjt2#

您需要从“模型/索引”中获取模型
所以改变这个

const User = require('../models/User');

对此

const {User} = require('../models/index');

参见this answer

相关问题