我最近开始做我的一个老项目。我记得在我最后一次完成它之前一切都很好。但是现在有一个打字错误。
import { DataTypes } from 'sequelize'
import sequelizeConn from '../services/sequelize'
import { Model, InferAttributes, InferCreationAttributes } from 'sequelize'
interface EshopModelI extends Model<InferAttributes<EshopModelI>, InferCreationAttributes<EshopModelI>> {
eshop_id: number
}
const EshopModel = sequelizeConn.define<EshopModelI>("eshop", {
eshop_id: {
type: DataTypes.INTEGER,
primaryKey: true
}
})
export default EshopModel
Type instantiation is excessively deep and possibly infinite.
但是一切看起来都很好。我试着从文档中复制示例,也发生了同样的错误。
所用软件包的版本
"sequelize": "^6.21.0",
"@types/node": "^17.0.43",
"nodemon": "^2.0.16",
"ts-node": "^10.8.1",
"typescript": "^4.7.3"
有人遇到过同样的问题吗?
1条答案
按热度按时间9bfwbjaz1#
此Sequelize实用程序类型已更新,以修复Typescript版本
4.29
引入的类型错误,因此您需要将您的sequelize
版本升级到6.25.2
或更高版本。我个人可以确认版本6.28.0
解决了该问题(使用Typescript4.9.4
)。以下是记录修复和时间轴的Sequelize问题:https://github.com/sequelize/sequelize/issues/15133
以下是包含该修复的版本:https://github.com/sequelize/sequelize/releases/tag/v6.25.2