A command-line tool for running and managing MongoDB migrations.
To install Mongo-Migration, run the following command:
npm i @mongo/migration
__ __ __ __ _ _ | \/ | ___ _ __ __ _ ___ | \/ (_) __ _ _ __ __ _| |_ ___ | |\/| |/ _ \| '_ \ / _` |/ _ \ _____| |\/| | |/ _` | '__/ _` | __/ _ \ | | | | (_) | | | | (_| | (_) |_____| | | | | (_| | | | (_| | || __/ |_| |_|\___/|_| |_|\__, |\___/ |_| |_|_|\__, |_| \__,_|\__\___| |___/ |___/ Usage: mongo-migration [options] [command] Options: -V, --version output the version number -h, --help display help for command Commands: init Initialize migration config create [name] Create a migration status Get migration status up [options] Run migration down [options] Rollback migrations help [command] display help for command
To initialize the migration config, run the following command:
npx mongo-migrate init
This will create a migration-config.yaml
file in the current directory.
db-connection: url: ${URL} databaseName: ${DATABASE_NAME} options: useNewUrlParser: true useUnifiedTopology: true migrationsDir: migrations changelogCollectionName: migrations projectName: YOUR-PROJECT-NAME useDefaultTransaction: true
You can use .env
to auto populate the environment variables
To create a new migration, run the following command:
npx mongo-migrate create [name]
Replace [name]
with the name of your migration. This will create a new migration file in the migrations
directory.
-n, -native
: Create migration file for native Mongo DB operation (WIP).Without option -n, it will create a file with following content:
Without option -n | With native support (-n) - WIP |
---|---|
|
|
-> System handles the entire Transaction Session | -> Should pass client.globalSession to give system the control to handle the transaction session |
To get the status of your migrations, run the following command:
npx mongo-migrate status
This will display a table showing the status of each migration.
To run your migrations, run the following command:
npx mongo-migrate up
This will run all pending migrations.
-f, -file <filename>
: Run migration for a specific file.-d, --dry-run
: Run migration with a dry run.To rollback your migrations, run the following command:
npx mongo-migrate down
This will rollback the last batch of migrations.
-f, -file <filename>
: Run rollback for a specific file.-r, -reset
: Reset the migration.-d, --dry-run
: Run migration rollback with a dry run.-b, --batch <number>
: Number of batch to rollback.-s, --steps <number>
: Number of steps to rollback.This project is licensed under the MIT License - see the LICENSE file for details.
Add Package
deno add jsr:@mongo/migration
Import symbol
import * as migration from "@mongo/migration";
---- OR ----
Import directly with a jsr specifier
import * as migration from "jsr:@mongo/migration";
Add Package
npx jsr add @mongo/migration
Import symbol
import * as migration from "@mongo/migration";
Add Package
yarn dlx jsr add @mongo/migration
Import symbol
import * as migration from "@mongo/migration";
Add Package
pnpm dlx jsr add @mongo/migration
Import symbol
import * as migration from "@mongo/migration";
Add Package
bunx jsr add @mongo/migration
Import symbol
import * as migration from "@mongo/migration";