gpt4 book ai didi

typescript - Sequelize 在 Typescript 中扩展模型类

转载 作者:行者123 更新时间:2023-12-01 05:51:15 25 4
gpt4 key购买 nike

我正在处理一个我们希望迁移到 Typescript 的遗留项目。它具有按以下格式定义的模型:

import Sequelize from "sequelize";

class MyModel extends Sequelize.Model {
public static init(sequelize) {
const attributes = {
userId: {
type: Sequelize.INTEGER,
allowNull: false,
field: "user_id"
},
createdAt: {
type: Sequelize.DATE,
field: "created_at"
}
};

super.init(attributes, {
sequelize
});
}
}

export default MyModel;

我想将它们转换为 typescript ,而不必更改消费者的界面。我的意思是我想扩展 Sequelize.Model我想定义一个 public static init方法。

我在 Sequelize.Model 上从 Typescript 收到以下错误
Type 'Model<any, any>' is not a constructor function type.

我所做的所有研究都指向使用 Sequelize.define定义模型。

这是一个遗留项目,我不想为了符合类型而重写我的所有模型,所以我想知道如何正确扩展 Sequelize.Model ?

谢谢

最佳答案

尝试这个

public static init(sequelize) {
super.init.call(this,{
id: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
},
text: {
type: DataTypes.STRING(5000) // extra long length
}
}, {
sequelize: sequelize
});
}

关于typescript - Sequelize 在 Typescript 中扩展模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53903433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com