Mark initial_data as deprecated separately from syncdb. Refs #23077.
This commit is contained in:
parent
ed4812692e
commit
f44dbf74a4
|
@ -17,6 +17,7 @@ from django.utils import lru_cache
|
|||
from django.utils.encoding import force_text
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils._os import upath
|
||||
from django.utils.deprecation import RemovedInDjango19Warning
|
||||
from itertools import product
|
||||
|
||||
try:
|
||||
|
@ -219,6 +220,11 @@ class Command(BaseCommand):
|
|||
if fixture_name != 'initial_data' and not fixture_files:
|
||||
# Warning kept for backwards-compatibility; why not an exception?
|
||||
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
|
||||
|
||||
|
|
|
@ -28,10 +28,6 @@ about each item can often be found in the release notes of two versions prior.
|
|||
* The ``DatabaseCreation`` class on each database backend will be removed,
|
||||
and all table/schema editing will be moved to be via ``SchemaEditor`` instead.
|
||||
|
||||
* The legacy method of syncing apps without migrations will be removed,
|
||||
and migrations will become compulsory for all apps. This includes automatic
|
||||
loading of fixtures and support for initial SQL data.
|
||||
|
||||
* The ability to :func:`~django.core.urlresolvers.reverse` URLs using a dotted
|
||||
Python path will be removed.
|
||||
|
||||
|
@ -68,6 +64,10 @@ details on these changes.
|
|||
* ``allow_syncdb`` on database routers will no longer automatically become
|
||||
``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
|
||||
declare an explicit :attr:`~django.db.models.Options.app_label`.
|
||||
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
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
|
Loading…
Reference in New Issue