Move all Django Evolution settings into a DJANGO_EVOLUTION dictionary.

Review Request #12218 — Created March 30, 2022 and submitted — Latest diff uploaded

Information

Django Evolution
release-2.x

Reviewers

In an effort to better namespace Django Evolution settings and keep them
manageable, this change introduces a new settings.DJANGO_EVOLUTION
dictionary. Currently, this supports CUSTOM_EVOLUTIONS and ENABLED
keys, but will later include a CUSTOM_MIGRATIONS setting.

The old settings.DJANGO_EVOLUTION_ENABLED and settings.CUSTOM_EVOLUTIONS
are still supported, but will emit a deprecation warning.

All settings are now accessed through a new
django_evolution.conf.django_evolution_settings object, which is an
instance of DjangoEvolutionSettings. This manages loading settings (both
modern and legacy), defaults, and responding to Django's settings_changed
signal.

Unit tests pass on all versions of Django and Python.

Manually tested the values by tweaking Django settings and running management
commands.

Diff Revision 2 (Latest)

orig
1
2

Commits

First Last Summary ID Author
Move all Django Evolution settings into a DJANGO_EVOLUTION dictionary.
In an effort to better namespace Django Evolution settings and keep them manageable, this change introduces a new `settings.DJANGO_EVOLUTION` dictionary. Currently, this supports `CUSTOM_EVOLUTIONS` and `ENABLED` keys, but will later include a `CUSTOM_MIGRATIONS` setting. The old `settings.DJANGO_EVOLUTION_ENABLED` and `settings.CUSTOM_EVOLUTIONS` are still supported, but will emit a deprecation warning. All settings are now accessed through a new `django_evolution.conf.settings` object, which is an instance of `DjangoEvolutionSettings`. This manages loading settings (both modern and legacy), defaults, and responding to Django's `settings_changed` signal.
2d1d887fb6a3b742b5b75a2c3db5ade35448ecb5 Christian Hammond
django_evolution/conf.py
django_evolution/management/__init__.py
django_evolution/management/commands/evolve.py
django_evolution/management/commands/migrate.py
django_evolution/management/commands/syncdb.py
django_evolution/tests/test_conf.py
django_evolution/tests/test_evolution_utils.py
django_evolution/utils/evolutions.py
docs/coderef/index.rst
Loading...