diff --git a/README.md b/README.md index 8a87528..9d599b9 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,59 @@ # Django migration linter -Detect backward incompatible migrations for your django project. +> Detect backward incompatible migrations for your django project. It will save you time by making sure migrations will not break anything. + +badge of travis CI +PyPi version +badge of license +badge of pull request welcome +badge of hiring advertisement of 3yourmind +badge of github star + +## Dependencies + +

+ Needed software (in PATH) + + * `python` + * `git` + * UNIX command line tools like `tail` +

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

Using pip +
pip install django-migration-linter
+

## Usage -`python migration_linter.py DJANGO_PROJECT_FOLDER [GIT_COMMIT_ID] [--ignore-name-contains=IGNORE_NAME_CONTAINS] [--include-apps INCLUDE_APPS [INCLUDE_APPS ...] | --exclude-apps EXCLUDE_APPS [EXCLUDE_APPS ...]]` +`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 ...]]` -* `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* +| 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* | -## Requirements +## Examples -Needed software (in PATH): +3YOURMIND is running this on [Bitbucket Pipelines](https://bitbucket.org/product/features/pipelines) with every build getting triggered in this environment. -* `python` -* `git` -* UNIX command line tools like `tail` - -The linter will try to detect if the project is a django project and is versioned with git. +![](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/). More tests are always welcome. + +## License + +*django-migration-linter* is released under the [Apache 2.0 License](./LICENSE).