@frabbit/mongo-migrate-ts

中文文档
1.0.32发布于 2022/05/31MITTypeScriptCommonJS近 30 天下载 2044

又一个叉子...

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. CLI 选项
  4. 配置

@ frabbit/ mongo- migrate- ts (法语)

又一个叉子...

一个使用 TypeScript 在mongodb 上简单运行迁移的库.

根据移徙-蒙戈(https://github.com/seppevs/migrate-mongo/ 互联网档案馆的存檔,存档日期2013-12-21),但得到了TypeScript的支持.

安装

使用您最喜欢的软件包管理器安装, 例如使用 npm

npm install @frabbit/mongo-migrate-ts

您可以在全球安装用于 CLI

npm install -g @frabbit/mongo-migrate-ts

使用量

CLI 选项

Usage: mongo-migrate [options] [command]

Options:
  -h, --help      output usage information

Commands:
  init            Creates the migrations directory and configuration file
  new [options]   Create a new migration file under migrations directory
  up              Run all pending migrations
  down [options]  Undo migrations
  status          Show the status of the migrations

为您的迁移创建目录, 并即时创建 CLI

import { mongoMigrateCli } from '@frabbit/mongo-migrate-ts';

mongoMigrateCli({
  uri: 'mongodb://username:[email protected]:27017',
  migrationsDir: __dirname,
  migrationsCollection: 'migrations_collection',
});

在配置的迁移文件夹中创建迁移文件...

import { MigrationInterface } from '@frabbit/mongo-migrate-ts';
import { Db } from 'mongodb';

export class MyMigration implements MigrationInterface {
  async up(db: Db): Promise<any> {
    await db.createCollection('my_collection');
  }

  async down(db: Db): Promise<any> {
    await db.dropCollection('my_collection');
  }
}

汇编和增加所有迁移

tsc migrations/index.js && node build/migrations/index.js up

或用 ts- 节点直接运行

ts-node migrations/index.ts up

配置

{
  // The path where the migrations are stored
  migrationsDir: string;
  // The name of the collection to store the applied migrations
  // (Default: "migrations_changelog")
  migrationsCollection?: string;
  // The connection uri, it can be empty if useEnv is true
  // (Example: mongodb://user:[email protected]:27017/db?authSource=admin)
  uri?: string;
  // The database where run the migrations
  // it can be empty if the database is on the uri or useEnv is true
  database?: string;
  // If true, will load the configuration from environment variables.
  useEnv?: boolean;
  // Options related to environment configuration
  environment?: {
    // The name of the environment variable with the uri connection
    // (Default: MONGO_MIGRATE_URI)
    uriVar?: string;
    // The name of the environment variable with the db name
    // (Default: MONGO_MIGRATE_DB)
    databaseVar?: string;
  };
  // Specific configuration of mongodb client
  // (see https://mongodb.github.io/node-mongodb-native/4.3/interfaces/MongoClientOptions.html)
  options?: MongoClientOptions;
}

Json 中的示例配置

{
  "uri": "mongodb://admin:[email protected]:27017/mydb?authSource=admin",
  "migrationsDir": "migrations"
}

版本与发布记录

@frabbit/mongo-migrate-ts 共发布 12 个版本,首次发布于 2022/05/29;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.32latest2022/05/314 年前
1.0.302022/05/294 年前
1.0.262022/05/294 年前
1.0.252022/05/294 年前
1.0.242022/05/294 年前
1.0.222022/05/294 年前

关于 @frabbit/mongo-migrate-ts 的常见问题

@frabbit/mongo-migrate-ts 是什么?

又一个叉子...

如何安装 @frabbit/mongo-migrate-ts?

在项目目录运行 npm install @frabbit/mongo-migrate-ts,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:mongodb(4.x.x)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 mongo-migrate,可以用 npx mongo-migrate 直接运行。

@frabbit/mongo-migrate-ts 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@frabbit/mongo-migrate-ts 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@frabbit/mongo-migrate-ts 可以商用吗?

@frabbit/mongo-migrate-ts 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@frabbit/mongo-migrate-ts 的下载量有多少?

根据 npm 官方下载统计,@frabbit/mongo-migrate-ts 在 2026/10/16 – 2026/11/14 这 30 天内被下载 2,044 次,日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@frabbit/mongo-migrate-ts 还在维护吗?

最新版本 1.0.32 发布于 2022/05/31(4 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/05/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。