Skip to main content

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 anything.

<a href="https://travis-ci.org/3YOURMIND/django-migration-linter"><img src="https://travis-ci.org/3YOURMIND/django-migration-linter.svg?branch=master" alt="badge of travis CI" /></a>
<a href="https://pypi.python.org/pypi/django-migration-linter/"><img src="https://img.shields.io/pypi/v/django-migration-linter.svg" alt="PyPi version" /></a>
<a href="./LICENSE"><img src="https://img.shields.io/github/license/3yourmind/django-migration-linter.svg" alt="badge of license" /></a>
<a href="https://github.com/3YOURMIND/django-migration-linter/pulls"><img src="https://img.shields.io/badge/PR-welcome-green.svg" alt="badge of pull request welcome" /></a>
<a href="https://www.3yourmind.com/career"><img src="https://img.shields.io/badge/3YOURMIND-Hiring-brightgreen.svg" alt="badge of hiring advertisement of 3yourmind" /></a>
<a href="https://github.com/3YOURMIND/django-migration-linter/stargazers"><img src="https://img.shields.io/github/stars/3YOURMIND/django-migration-linter.svg?style=social&label=Stars" alt="badge of github star" /></a>

## Dependencies

<p><details>
<summary><b>Needed software (in PATH)</b></summary>

* `python`
* `git` (if you specify a git identifier)
</details></p>

The linter will try to detect if the project is a django project and is versioned with git.

## Installation

<p><details><summary><b>Using pip</b></summary>
<pre><code>pip install django-migration-linter</code></pre>
</details></p>

## Usage

`django-migration-linter DJANGO_PROJECT_FOLDER [GIT_COMMIT_ID] [--ignore-name-contains=IGNORE_NAME_CONTAINS] [--include-apps INCLUDE_APPS [INCLUDE_APPS ...] | --exclude-apps EXCLUDE_APPS [EXCLUDE_APPS ...]]`

| Parameter | Description |
| -- | -- |
| `DJANGO_PROJECT_FOLDER` | An absolute or relative path to the django project. |
| `GIT_COMMIT_ID` | If specified, only migrations since this commit will be taken into account. If not specified, the initial repo commit will be used. |
| `--ignore-name-contains IGNORE_NAME_CONTAINS` | Ignore migrations containing this name |
| `--ignore-name IGNORE_NAME [IGNORE_NAME ...]` | Ignore migrations with exactly one of these names |
| `--include-apps INCLUDE_APPS [INCLUDE_APPS ...]` | Check only migrations that are in the specified django apps |
| `--exclude-apps EXCLUDE_APPS [EXCLUDE_APPS ...]` | Ignore migrations that are in the specified django apps |
| `--verbose` or `-v` | print more information during execution |
| `--database DATABASE` | Specify the database for which to generate the SQL. Defaults to *default* |

## Examples

3YOURMIND is running this on [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) with every build getting triggered in this environment.

![](https://i.imgur.com/ocLpQXP.png)

## Tests

The easiest way to run the tests is to invoke [py.test](https://docs.pytest.org/en/latest/).

## License

*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE).


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

django_migration_linter-0.0.3-py2.py3-none-any.whl (18.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django_migration_linter-0.0.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_migration_linter-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c3a19e0d3f44462259ad2f335179d03f1b2882fdd07e6f44c0795d71404093db
MD5 38c7ae2ae895122ac3e35992b285e81b
BLAKE2b-256 c6bf368cc4e6642bad21f07f5fa1fef726aebf43c3df72ceb14a2bbd8d653463

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page