Django library for managing and executing hand-written PostgreSQL migrations.
Let your favorite DBAs define the database schema, and provide blue/green migration files. Drop django native migrations, and use DBA's migrations everywhere.
- Postgresql only
- Django v1.11, v2.0, v2.1, v2.2
- Running under Python 3.6, 3.7 or 3.8
The full documentation is at https://django-north.readthedocs.org.
Install Django North:
pip install django-north
In your settings.py
:
INSTALLED_APPS = [
# ...
"django_north",
]
NORTH_MANAGE_DB = True
NORTH_MIGRATIONS_ROOT = '/path/to/sql/migrations/'
NORTH_TARGET_VERSION = '1.42'
You will need a usable Postgresql database in order to test the project. For example:
source <YOURVIRTUALENV>/bin/activate export DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME (myenv) $ pip install -r requirements_test.txt
Run tests for a specific version
(myenv) $ ./runtest
Run tests for all versions (if tox is installed globally, you don't need a virtual environment)
$ tox
Many operations are documented in the Makefile. For more information, use:
$ make help
Tools used in rendering this package: