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 [tox](https://pypi.python.org/pypi/tox).
## Contributing
First, thank you very much if you want to contribute to the project.
Please base your work on the `dev` branch and also target this branch in your pull request.
## License
*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE).
> 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 [tox](https://pypi.python.org/pypi/tox).
## Contributing
First, thank you very much if you want to contribute to the project.
Please base your work on the `dev` branch and also target this branch in your pull request.
## License
*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE).
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file django_migration_linter-0.0.4-py2.py3-none-any.whl
.
File metadata
- Download URL: django_migration_linter-0.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ab76d1e7c20aa93798769247bbf2a14c64064bb5dbddd92e754d41342971ccc |
|
MD5 | e8069df7c0a581629c20a287f4963804 |
|
BLAKE2b-256 | 928633cc441f8ace6bcaa11f558f0a85390c96a01774b1448d1e93a1065ccffb |