Tool for manage migrations in your project.
If you want to use MongoDB as database for migrations:
To initialize the migranite in your project run:
This command creates the settings file (.migranite
) and two directories (migrations_dir
and templates_dir
).
Create the first migration:
This is create the file migrations_dir/001-my-first-migration.py
with an empty migration. You need to write a module docstring and implement function run()
with your migration logic.
Show the available migrations with statuses:
Run all migrations that haven't been started earlier:
Run only specified migrations:
Run the migrations that were started earlier:
A config file is a simple ini-file with three sections.
Migrations settings.
- path
Path to directory with migrations.
- digits
Number of digits in migration number. Default
3
.
Templates settings.
- path
Path to directory with templates.
- default
Default template file name.
Database settings. Currently only JSON file and MongoDB is supported.
- backend
Type of database backend (
json
ormongo
).
Other settings are backend-specified.
json
- path
path to json file.
mongo
- host
Hostname or ip address. Default
localhost
.- port
Default
27017
.- name
Name of database. Required.
- collection
Name of collection. Default
migrations
.
All paths in config and command arguments can be relative from python packages. Use :
, Luke!
Example:
Will look for migrations in the directory migrations
in python package my_project
. Use this feature on production is good practice.
- Rename
--config
argument to--settings
; - Use zini as settings format;