Detect backward incompatible migrations for your django project
Project description
Django migration linter
Detect backward incompatible migrations for your Django project. It will save you time by making sure migrations will not break with a older codebase.
Quick installation
pip install django-migration-linter
And add the migration linter your INSTALLED_APPS
:
INSTALLED_APPS = [
...,
"django_migration_linter",
...,
]
Usage example
$ python manage.py lintmigrations
(app_add_not_null_column, 0001_create_table)... OK
(app_add_not_null_column, 0002_add_new_not_null_field)... ERR
NOT NULL constraint on columns
(app_drop_table, 0001_initial)... OK
(app_drop_table, 0002_delete_a)... ERR
DROPPING table
(app_ignore_migration, 0001_initial)... OK
(app_ignore_migration, 0002_ignore_migration)... IGNORE
(app_rename_table, 0001_initial)... OK
(app_rename_table, 0002_auto_20190414_1500)... ERR
RENAMING tables
*** Summary ***
Valid migrations: 4/8
Erroneous migrations: 3/8
Migrations with warnings: 0/8
Ignored migrations: 1/8
The linter analysed all migrations from the Django project. It found 3 migrations that are doing backward incompatible operations and 1 that is explicitly ignored. The list of incompatibilities that the linter analyses can be found at docs/incompatibilities.md.
More advanced usages of the linter and options can be found at docs/usage.md.
More information
Please find more documentation generally in the docs/ folder.
Some implementation details can found in the ./docs/internals/ folder.
Blog post
Keeping Django database migrations backward compatible
License
django-migration-linter is released under the Apache 2.0 License.
Maintained by David Wobrock
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-migration-linter-2.2.1.tar.gz
.
File metadata
- Download URL: django-migration-linter-2.2.1.tar.gz
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 917687973b47d8f02d74c1d7c01c60b4817f749b2678042a32f54d2ecc66fc80 |
|
MD5 | 6d9c034ef5b330e268571310ba7d65b4 |
|
BLAKE2b-256 | 03778fe5ed2f53eed7c8e7e626914953abfba449e19d89cbc828d5a96ff2e9c8 |
File details
Details for the file django_migration_linter-2.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: django_migration_linter-2.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 75.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ee5bde561b0106a502978bcb7bfab4a91f6e7f93e35c620ff4ee6548b557a71 |
|
MD5 | 00d0d1e2337024e83fd20aa82b55d856 |
|
BLAKE2b-256 | 72cbcf4f3f16fee37f427e99968644fe3dde98dfa943706c1fc43e0201677ab3 |