nestjs-无法使用 migrate-mongo 进行迁移

问题描述 投票:0回答:1

我正在开发一个nestjs应用程序,其中我使用migrate-mongo包,我已经用以下命令初始化了migrate-mongo命令

npx migrate-mongo -m esm init

然后我必须在 package.json 中添加“type”:“module”,这也是我的 migrate-mongo-config.js 文件

const config = {
  mongodb: {
    url: 'mongodb://localhost:27017/persomic',
    options: {
      useNewUrlParser: true, // removes a deprecation warning when connecting
      useUnifiedTopology: true, // removes a deprecating warning when connecting
    },
  },
  migrationsDir: 'migrations',
  changelogCollectionName: 'changelog',
  migrationFileExtension: '.js',
  useFileHash: true,
  moduleSystem: 'esm',
};
export default config;

据我所知,migrate-mongo 从 10.0.0 版本开始支持 ts 文件,但是当我添加 migrateFileExtension: '.ts' 时,出现错误

Unexpected token export

在我的一个迁移文件中,如下所示

export const up = async (db, client) => { };

export const down = async (db, client) => { };

但是当我将配置更改为 .js 时,它工作正常。创建迁移文件工作正常,但用完命令后不起作用

我现在面临的问题:

  1. 无法使用 ts 文件
  2. 必须将 type: module 添加到 src package.json 中,这可能会引起其他问题(有解决方法吗?)
  3. 我的 mongodb 中也没有创建迁移集合,但正在创建变更日志(默认集合名称)。
node.js typescript migration es6-modules migrate-mongo
1个回答
0
投票

改用此 npm 库进行迁移。

猫鼬遗产

© www.soinside.com 2019 - 2024. All rights reserved.