无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize实例

编程入门 行业动态 更新时间:2024-10-07 20:30:07

无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize<a href=https://www.elefans.com/category/jswz/34/1771375.html style=实例"/>

无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize实例

我的user.model.ts是:

@Table
export class User extends Model<User> {
    @Column({ allowNull: false })
    firstName: string;

    @Column({ allowNull: false })
    lastName: string;
...

[当我尝试导入它时:

    const sequelize = new Sequelize(DB_CREDENTIALS_PARSED.database, DB_CREDENTIALS_PARSED.username, DB_CREDENTIALS_PARSED.password, { dialect: 'postgres' })
    const modelFile = require(path.join(modelPath, 'user.model')).User.init({ sequelize })

    console.log(modelFile)

我收到错误:Error: No Sequelize instance passed

我在做什么错?

回答如下:

sequelize实例必须在init的第二个参数中传递方法

const User = require(path.join(modelPath, 'user.model'));
const sequelize = new Sequelize(
    DB_CREDENTIALS_PARSED.database,
    DB_CREDENTIALS_PARSED.username,
    DB_CREDENTIALS_PARSED.password, {
        dialect: 'postgres'
    }
)
User.init(modelAttributesObject, { sequelize })

但是当您使用序列化TypeScript时,可以使用实例初始化模型

const User = require(path.join(modelPath, 'user.model'));
const sequelize = sequelize = new Sequelize({
    dialect: 'postgres',
    database: DB_CREDENTIALS_PARSED.database,
    username: DB_CREDENTIALS_PARSED.username,
    password: DB_CREDENTIALS_PARSED.database,
    models: [User]
});

更多推荐

无法使用TypeScript导入Sequelize模型:错误:没有传递Sequelize实例

本文发布于:2024-05-07 05:20:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754469.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实例   模型   错误   TypeScript   Sequelize

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!