ada*_*rie 6 sequelize.js typescript
我正在处理一个我们希望迁移到 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;
Run Code Online (Sandbox Code Playgroud)
我想将它们转换为打字稿,而不必更改消费者的界面。我的意思是我想扩展Sequelize.Model并定义一个public static init方法。
我从打字稿上收到以下错误 Sequelize.Model
Type 'Model<any, any>' is not a constructor function type.
Run Code Online (Sandbox Code Playgroud)
我所做的所有研究都指向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
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2122 次 |
| 最近记录: |