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

如何从TypeORM迁移列表中移除已删除的迁移文件记录

根因说明

该问题几乎均由已删除迁移的编译产物残留导致。TypeORM会读取配置路径下所有匹配规则的迁移文件,若仅删除了src目录下的迁移源码文件,未清理编译后dist目录中的对应迁移产物,或是迁移路径配置匹配到了其他存储旧迁移的目录,就会识别到已删除的旧迁移记录。

解决步骤

  • 第一步:清理全部构建产物
    删除项目下的dist(或你自定义的编译输出目录),重新执行项目编译命令,确保旧迁移的js/js.map/d.ts产物被完全清除。
  • 第二步:核对迁移配置路径
    打开你的TypeORM配置文件(ormconfig.json/ormconfig.ts/环境变量配置等),检查migrations字段的配置项,确认路径通配符没有匹配到备份目录、历史归档目录等非预期目录,同时不要同时配置src和dist两个目录的迁移路径,按照你的运行场景仅保留对应路径即可:
    • 用ts-node直接运行ts迁移:仅保留src/migrations/**/*.ts这类源码路径
    • 运行编译后的js迁移:仅保留dist/migrations/**/*.js这类产物路径
  • 第三步:清理残留缓存
    手动删除项目下的.typeorm缓存目录(如果存在),以及node_modules/.cache目录,避免运行时读到缓存的迁移列表。如果使用ts-node运行迁移,可额外删除node_modules/.cache/ts-node目录,或者运行迁移时添加--transpile-only参数跳过缓存。
  • 第四步:验证修复结果
    执行typeorm migration:show命令确认旧迁移已经不在列表中,再执行typeorm migration:run即可正常运行新的迁移文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:36:07