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

使用mongo-migrate-ts执行mongo-migrate up时提示无迁移文件问题求助

解决mongo-migrate-ts执行up提示No migrations found的问题

以下是几个常见的排查和修复方案:

1. 让工具直接识别TypeScript文件

mongo-migrate-ts默认无法直接处理TS文件,需借助ts-node运行:

  • 先安装必要的开发依赖:
    npm install -D ts-node typescript @types/node
    
  • 用ts-node调用迁移工具:
    ts-node ./node_modules/mongo-migrate-ts/bin/mongo-migrate.ts up
    
    也可以在package.json中添加脚本简化操作:
    {
      "scripts": {
        "migrate:up": "ts-node node_modules/mongo-migrate-ts/bin/mongo-migrate.ts up"
      }
    }
    
    之后运行npm run migrate:up即可。

2. 验证迁移目录配置和路径

  • 检查migrations.json中的migrationsDir字段,确保路径与实际存放迁移文件的目录一致。比如迁移文件在项目根目录的migrations文件夹,配置里的"migrationsDir": "migrations"就是正确的,注意不要拼写错误或使用错误的相对路径(如文件在src/migrations下,需改为"src/migrations")。
  • 确认migrations目录存在且包含生成的TS迁移文件。

3. 检查迁移文件的命名和类导出

  • 迁移文件的类名必须严格遵循Migration<时间戳>格式,比如文件名是1696001448527_Migration.ts,对应的类名必须是Migration1696001448527,两者时间戳需完全一致。
  • 确保类正确实现MigrationInterface并通过export导出。

4. 先编译TypeScript再执行迁移

若不想用ts-node,可先编译TS文件为JavaScript:

  • 在tsconfig.json中配置outDir指定编译输出目录,比如"./dist"。
  • 执行tsc命令编译所有TS文件,此时migrations下的TS会被编译到dist/migrations目录。
  • 修改migrations.json中的migrationsDir为"dist/migrations",再执行mongo-migrate up。

内容的提问来源于stack exchange,提问作者DONGMO BERNARD GERAUD

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:48:14