mirror of https://github.com/django/django.git
[1.7.x] Mark initial_data as deprecated separately from syncdb. Refs #23077.
Conflicts: docs/internals/deprecation.txt
This commit is contained in:
parent
6e7e5bacd5
commit
2bacc9f3b7
|
@ -18,6 +18,7 @@ from django.utils import lru_cache
|
||||||
from django.utils.encoding import force_text
|
from django.utils.encoding import force_text
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils._os import upath
|
from django.utils._os import upath
|
||||||
|
from django.utils.deprecation import RemovedInDjango19Warning
|
||||||
from itertools import product
|
from itertools import product
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -223,6 +224,11 @@ class Command(BaseCommand):
|
||||||
if fixture_name != 'initial_data' and not fixture_files:
|
if fixture_name != 'initial_data' and not fixture_files:
|
||||||
# Warning kept for backwards-compatibility; why not an exception?
|
# Warning kept for backwards-compatibility; why not an exception?
|
||||||
warnings.warn("No fixture named '%s' found." % fixture_name)
|
warnings.warn("No fixture named '%s' found." % fixture_name)
|
||||||
|
elif fixture_name == 'initial_data':
|
||||||
|
warnings.warn(
|
||||||
|
'initial_data fixtures are deprecated. Use data migrations instead.',
|
||||||
|
RemovedInDjango19Warning
|
||||||
|
)
|
||||||
|
|
||||||
return fixture_files
|
return fixture_files
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ in a backward incompatible way, following their deprecation, as per the
|
||||||
:ref:`deprecation policy <internal-release-deprecation-policy>`. More details
|
:ref:`deprecation policy <internal-release-deprecation-policy>`. More details
|
||||||
about each item can often be found in the release notes of two versions prior.
|
about each item can often be found in the release notes of two versions prior.
|
||||||
|
|
||||||
|
|
||||||
.. _deprecation-removed-in-1.9:
|
.. _deprecation-removed-in-1.9:
|
||||||
|
|
||||||
1.9
|
1.9
|
||||||
|
@ -31,6 +32,10 @@ details on these changes.
|
||||||
* ``allow_syncdb`` on database routers will no longer automatically become
|
* ``allow_syncdb`` on database routers will no longer automatically become
|
||||||
``allow_migrate``.
|
``allow_migrate``.
|
||||||
|
|
||||||
|
* The legacy method of syncing apps without migrations will be removed,
|
||||||
|
and migrations will become compulsory for all apps. This includes automatic
|
||||||
|
loading of ``initial_data`` fixtures and support for initial SQL data.
|
||||||
|
|
||||||
* All models will need to be defined inside an installed application or
|
* All models will need to be defined inside an installed application or
|
||||||
declare an explicit :attr:`~django.db.models.Options.app_label`.
|
declare an explicit :attr:`~django.db.models.Options.app_label`.
|
||||||
Furthermore, it won't be possible to import them before their application
|
Furthermore, it won't be possible to import them before their application
|
||||||
|
|
|
@ -961,6 +961,9 @@ Instead, you are encouraged to load initial data in migrations if you need it
|
||||||
this has the added advantage that your initial data will not need updating
|
this has the added advantage that your initial data will not need updating
|
||||||
every time you change the schema.
|
every time you change the schema.
|
||||||
|
|
||||||
|
Additionally, like the rest of Django's old ``syncdb`` code, ``initial_data``
|
||||||
|
has been started down the deprecation path and will be removed in Django 1.9.
|
||||||
|
|
||||||
deconstruct() and serializability
|
deconstruct() and serializability
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue