Skip to content

sergekovalov/mmigrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MongoDb Migrator

Migration engine for MongoDB
Supports CLI

Installation

$ python -m pip install mmigrator

Configuration

init command (see below) will create a mmigrator.config.json file with following structure:

{
    "dist": "migrations",
    "connection": {
        "host": "",
        "port": "",
        "database": "",
        "user": "",
        "password": ""
    }
}

Connection variables could be set from .env|.json files.
e.g. from .env file:

{
  "host": ".env[MONGO_HOST]",
  "port": ".env[MONGO_PORT]",
  "database": ".env[MONGO_DB]",
  "user": ".env[MONGO_USER]",
  "password": ".env[MONGO_PASSWORD]"
}

Usage

Help

$ mmigrator help

Init configs

optional, will run automatically on any migration command*

CLI

$ mmigrator init

from code:

from mmigrator import MigrationManager
...
MigrationManager.init()

Create migration

CLI

$ mmigrator g SomeName
# or
$ mmigrator new SomeName

from code:

MigrationManager.generate("SomeName")

Run migrations

CLI

$ mmigrator migrate # or mmigrator run

# add --silent flag for dry-run (skip exceptions)
$ mmigrator migrate --silent

from code:

MigrationManager.migrate() # or MigrationManager.run()

# add silent=True flag for dry-run (skip exceptions)
MigrationManager.migrate(silent=True)

Revert migrations

CLI

$ mmigrator revert # or mmigrator rollback

# add --silent flag for dry-run (skip exceptions)
$ mmigrator revert --silent

from code:

MigrationManager.revert() # or MigrationManager.rollback()

# add silent=True flag for dry-run (skip exceptions)
MigrationManager.revert(silent=True)

About

Migration engine for MongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors