You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sequelize-Typescript无法初始化MySQL模型:类型错误求助

问题

尝试使用Sequelize和Sequelize-Typescript将Node.js TypeScript项目连接到MySQL数据库时,无法初始化数据库模型,启动项目抛出如下错误:

TypeError: Cannot convert undefined or null to object
    at Function.getOwnPropertyDescriptor (<anonymous>)
    at /home/janneck/WebstormProjects/SchoolService/node_modules/sequelize-typescript/dist/model/column/column.js:18:131
    at __esDecorate (/home/janneck/WebstormProjects/SchoolService/dist/models/documentType.model.js:13:40)
    at /home/janneck/WebstormProjects/SchoolService/dist/models/documentType.model.js:67:9
    at /home/janneck/WebstormProjects/SchoolService/dist/models/documentType.model.js:73:7
    at Object.<anonymous> (/home/janneck/WebstormProjects/SchoolService/dist/models/documentType.model.js:75:3)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)

模型定义代码:

import { Column, DataType, Model, Table } from "sequelize-typescript";

@Table({ tableName: "DocumentType" })
class DocumentType extends Model {
  @Column({ type: DataType.STRING, primaryKey: true })
  public documentTypeId: string;

  @Column(DataType.STRING)
  public name: string;
}
export default DocumentType;

项目原本包含多个模型,单独初始化该模型(无关联其他模型)仍失败。使用的依赖版本:

"sequelize": "^6.37.1",
    "sequelize-typescript": "^2.1.6"
解决方案
  • 检查TypeScript编译配置:确保tsconfig.json中开启experimentalDecorators: true和emitDecoratorMetadata: true,这两个是sequelize-typescript正常工作的必要配置。
  • 清理编译产物后重新构建:删除项目中的dist目录,重新执行tsc编译,避免旧编译文件干扰。
  • 调整版本兼容性:尝试升级sequelize-typescript到2.1.7,或降级sequelize到6.36.0,部分版本组合存在隐性兼容问题。
  • 完善模型装饰器配置:给@Column的配置对象显式添加allowNull字段,比如@Column({ type: DataType.STRING, primaryKey: true, allowNull: false }),避免装饰器处理空值时出错。
  • 确认模型加载路径:初始化Sequelize实例时,检查models配置的路径是否正确,确保模型文件被正确识别和加载。

内容的提问来源于stack exchange,提问作者ntdoJanneck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:43:18