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

NestJS TypeORM报错MySQL不支持Object类型 已删MyEntity如何解决

NestJS删除实体后仍报MySQL类型不支持错误的解决方法

Data type "Object" in "MyEntity.undefined" is not supported by "mysql" database.

按照以下步骤逐一排查:

  • 清理编译缓存
    NestJS默认运行dist目录下的编译后产物,删除实体后如果未清理旧编译文件,旧的MyEntity代码依然会被加载。操作:删除项目根目录的dist文件夹,重新执行编译命令后再启动应用。
  • 校验TypeORM实体扫描配置
    检查TypeORM配置项(通常在ormconfig.ts、app.module.ts的TypeORM初始化参数中)的entities字段:如果使用通配符扫描(例如entities: ['dist/**/*.entity.js']),确认扫描路径下没有残留的MyEntity编译文件;如果是硬编码引入实体,检查是否有遗漏未删除的MyEntity导入语句。
  • 清除其他实体的关联引用
    全局搜索项目内的MyEntity关键词,检查是否有其他实体保留了和MyEntity的关联装饰器(例如@OneToMany、@ManyToOne),删除所有残留的关联引用代码。
  • 排查实体列配置错误
    报错中的MyEntity.undefined说明TypeORM解析实体时未识别到对应列名,若确认没有任何MyEntity相关代码,需检查所有实体的列配置:是否存在漏写@Column()参数、列类型指定为普通Object、列名变量拼写错误导致解析为undefined的情况,这类配置错误会触发TypeORM误报残留实体的类型错误。
  • 清理依赖缓存
    上述步骤无效时,执行npm cache clean --force(yarn用户执行yarn cache clean),删除node_modules文件夹后重新安装依赖再启动应用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:27:03