Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pymongo-migrate

Package Overview
Dependencies
Maintainers
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pymongo-migrate

MongoDB data migration tool in Python

  • 1.0.0
  • PyPI
  • Socket score

Maintainers
3

pymongo-migrate

Build Status PyPI version

PyPI - Python Version

Mongodb migrations using Python.

Since mongodb is schema-less most of the time you can do without data migrations. Sometimes tho you want to create some new entities, or migrate old data instead adding another IF statement to your code. This is where pymongo-migrate comes in.

Usage

Usage: pymongo-migrate [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  downgrade  apply necessary downgrades to reach target migration
  graph
  migrate    automagically apply necessary upgrades or downgrades to reach
             target migration
  show       show migrations and their status
  upgrade    apply necessary upgrades to reach target migration

The most used command will be migrate, which works can be called like this:

$ pymongo-migrate migrate -u 'mongodb://localhost/test_db' -m tests/migrations

Use pymongo-migrate command --help to learn more about particular command.

Development & contributing to the project

Contributions and raising Issues is welcome; standard netiquette rules apply.

Use make init to setup the project for development. To format your code & test your changes run:

make check

Alternatives

ATM there seem only two active python projects like this:

So if something already existed, why then another project?

Goals of this project, where at least one of them were not fulfilled by above:

  • tests and CI pipeline for ensuring that tool indeed works
  • keeping it usable both as standalone tool and as python dependency
  • use of modern Python version, which allows use of type annotations, dataclasses, f-strings and other goodies

Inspiration and design

Other than Alternatives mentioned above, both alembic and django were used as references when designing this tool.

For now only linear revision history is supported. The support for squash migrations is planned.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc