Refs #31055 -- Added --database option to the check management command.

This avoids enabling the ``database`` checks unless they are explicitly
requested and allows to disable on a per-alias basis which is required
when only creating a subset of the test databases.

This also removes unnecessary BaseCommand._run_checks() hook.
This commit is contained in:
Simon Charette 2020-02-07 08:46:13 +01:00 committed by Mariusz Felisiak
parent 9cc743d0c8
commit 0b83c8cc4d
10 changed files with 66 additions and 56 deletions

View file

@ -79,7 +79,8 @@ Django's system checks are organized using the following tags:
* ``database``: Checks database-related configuration issues. Database checks
are not run by default because they do more than static code analysis as
regular checks do. They are only run by the :djadmin:`migrate` command or if
you specify the ``database`` tag when calling the :djadmin:`check` command.
you specify configured database aliases using the ``--database`` option when
calling the :djadmin:`check` command.
* ``models``: Checks of model, field, and manager definitions.
* ``security``: Checks security related configuration.
* ``signals``: Checks on signal declarations and handler registrations.
@ -90,6 +91,11 @@ Django's system checks are organized using the following tags:
Some checks may be registered with multiple tags.
.. versionchanged:: 3.1
The ``database`` checks are now run only for database aliases specified
using the :option:`check --database` option.
Core system checks
==================

View file

@ -106,6 +106,16 @@ For example, to perform only models and compatibility checks, run::
django-admin check --tag models --tag compatibility
.. django-admin-option:: --database DATABASE
.. versionadded:: 3.1
Specifies the database to run checks requiring database access::
django-admin check --database default --database other
By default, these checks will not be run.
.. django-admin-option:: --list-tags
Lists all available tags.