Add documentation for the makemigrations override
This commit is contained in:
1 parent
95fc4a538a
commit
86ccbfea4f
2 files changed
+47
No files matched your search
@@ -54,6 +54,25 @@ The list of incompatibilities that the linter analyses [can be found at docs/inc
|
|||||||
|
|
||||||
More advanced usages of the linter and options [can be found at docs/usage.md](./docs/usage.md).
|
More advanced usages of the linter and options [can be found at docs/usage.md](./docs/usage.md).
|
||||||
|
|
||||||
|
## Integration
|
||||||
|
|
||||||
|
One can either integrate the linter in the CI and the `lintmigrations` command, or detect incompatibilities during generation with
|
||||||
|
```
|
||||||
|
$ python manage.py makemigrations --lint
|
||||||
|
|
||||||
|
Migrations for 'app_correct':
|
||||||
|
tests/test_project/app_correct/migrations/0003_a_column.py
|
||||||
|
- Add field column to a
|
||||||
|
Linting for 'app_correct':
|
||||||
|
(app_correct, 0003_a_column)... ERR
|
||||||
|
NOT NULL constraint on columns
|
||||||
|
Deleted tests/test_project/app_correct/migrations/0003_a_column.py
|
||||||
|
```
|
||||||
|
|
||||||
|
The linter found that the newly created migration is not backward compatible and deletes the files.
|
||||||
|
This behaviour can be the default of the `makemigrations` command through the `MIGRATION_LINTER_OVERRIDE_MAKEMIGRATIONS` Django settings.
|
||||||
|
Find out more about the [makemigrations command at docs/makemigrations.md](./docs/makemigrations.md).
|
||||||
|
|
||||||
### More information
|
### More information
|
||||||
|
|
||||||
Please find more documentation generally [in the docs/ folder](./docs/).
|
Please find more documentation generally [in the docs/ folder](./docs/).
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# makemigrations
|
||||||
|
|
||||||
|
The linter can override behaviour of the [Django makemigrations command](https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-makemigrations).
|
||||||
|
|
||||||
|
Either:
|
||||||
|
* by specifying the `--lint` option in the command line
|
||||||
|
* by setting the `MIGRATION_LINTER_OVERRIDE_MAKEMIGRATIONS` Django setting to `True`
|
||||||
|
|
||||||
|
## Example
|
||||||
|
```
|
||||||
|
$ python manage.py makemigrations --lint
|
||||||
|
|
||||||
|
Migrations for 'app_correct':
|
||||||
|
tests/test_project/app_correct/migrations/0003_a_column.py
|
||||||
|
- Add field column to a
|
||||||
|
Linting for 'app_correct':
|
||||||
|
(app_correct, 0003_a_column)... ERR
|
||||||
|
NOT NULL constraint on columns
|
||||||
|
Deleted tests/test_project/app_correct/migrations/0003_a_column.py
|
||||||
|
```
|
||||||
|
|
||||||
|
## Options
|
||||||
|
|
||||||
|
Among the options that can be given, additionally to the default `makemigrations` options, you can count the options
|
||||||
|
to configure what should be linted:
|
||||||
|
* `--database DATABASE` - specify the database for which to generate the SQL. Defaults to *default*.
|
||||||
|
* `--warnings-as-errors` - handle warnings as errors and therefore return an error status code if we should.
|
||||||
|
* `--exclude-migration-tests MIGRATION_TEST_CODE [...]` - specify backward incompatible migration tests to be ignored using the code (e.g. ALTER_COLUMN).
|
||||||
Reference in new issue
Block a user