mirror of
				https://github.com/django/django.git
				synced 2025-11-04 13:39:16 +00:00 
			
		
		
		
	Fixed #22444 -- Marked initial SQL/fixture loading as deprecated.
Thanks Karen Tracey for the report.
This commit is contained in:
		
							parent
							
								
									11e30b684d
								
							
						
					
					
						commit
						a4acb80463
					
				
					 3 changed files with 20 additions and 7 deletions
				
			
		| 
						 | 
					@ -77,6 +77,13 @@ again, you'll wipe out any changes you've made.
 | 
				
			||||||
Automatically loading initial data fixtures
 | 
					Automatically loading initial data fixtures
 | 
				
			||||||
-------------------------------------------
 | 
					-------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. deprecated:: 1.7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    If an application uses migrations, there is no automatic loading of
 | 
				
			||||||
 | 
					    fixtures. Since migrations will be required for applications in Django 1.9,
 | 
				
			||||||
 | 
					    this behavior is considered deprecated. If you want to load initial data
 | 
				
			||||||
 | 
					    for an app, consider doing it in a migration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you create a fixture named ``initial_data.[xml/yaml/json]``, that fixture will
 | 
					If you create a fixture named ``initial_data.[xml/yaml/json]``, that fixture will
 | 
				
			||||||
be loaded every time you run :djadmin:`migrate`. This is extremely convenient,
 | 
					be loaded every time you run :djadmin:`migrate`. This is extremely convenient,
 | 
				
			||||||
but be careful: remember that the data will be refreshed *every time* you run
 | 
					but be careful: remember that the data will be refreshed *every time* you run
 | 
				
			||||||
| 
						 | 
					@ -103,6 +110,13 @@ directories.
 | 
				
			||||||
Providing initial SQL data
 | 
					Providing initial SQL data
 | 
				
			||||||
==========================
 | 
					==========================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.. deprecated:: 1.7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    If an application uses migrations, there is no loading of initial SQL data
 | 
				
			||||||
 | 
					    (including backend-specific SQL data). Since migrations will be required
 | 
				
			||||||
 | 
					    for applications in Django 1.9, this behavior is considered deprecated.
 | 
				
			||||||
 | 
					    If you want to use initial SQL for an app, consider doing it in a migration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Django provides a hook for passing the database arbitrary SQL that's executed
 | 
					Django provides a hook for passing the database arbitrary SQL that's executed
 | 
				
			||||||
just after the CREATE TABLE statements when you run :djadmin:`migrate`. You can
 | 
					just after the CREATE TABLE statements when you run :djadmin:`migrate`. You can
 | 
				
			||||||
use this hook to populate default records, or you could also create SQL
 | 
					use this hook to populate default records, or you could also create SQL
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -53,7 +53,8 @@ details on these changes.
 | 
				
			||||||
  and all table/schema editing will be moved to be via ``SchemaEditor`` instead.
 | 
					  and all table/schema editing will be moved to be via ``SchemaEditor`` instead.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* The legacy method of syncing apps without migrations will be removed,
 | 
					* The legacy method of syncing apps without migrations will be removed,
 | 
				
			||||||
  and migrations will become compulsory for all apps.
 | 
					  and migrations will become compulsory for all apps. This includes automatic
 | 
				
			||||||
 | 
					  loading of 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`.
 | 
				
			||||||
| 
						 | 
					@ -61,10 +62,6 @@ details on these changes.
 | 
				
			||||||
  is loaded. In particular, it won't be possible to import models inside
 | 
					  is loaded. In particular, it won't be possible to import models inside
 | 
				
			||||||
  the root package of their application.
 | 
					  the root package of their application.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* If models are organized in a package, Django will no longer look for
 | 
					 | 
				
			||||||
  :ref:`initial SQL data<initial-sql>` in ``myapp/models/sql/``. Move your
 | 
					 | 
				
			||||||
  custom SQL files to ``myapp/sql/``.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* The model and form ``IPAddressField`` will be removed.
 | 
					* The model and form ``IPAddressField`` will be removed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* ``AppCommand.handle_app()`` will no longer be supported.
 | 
					* ``AppCommand.handle_app()`` will no longer be supported.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1307,8 +1307,10 @@ Custom SQL location for models package
 | 
				
			||||||
Previously, if models were organized in a package (``myapp/models/``) rather
 | 
					Previously, if models were organized in a package (``myapp/models/``) rather
 | 
				
			||||||
than simply ``myapp/models.py``, Django would look for :ref:`initial SQL data
 | 
					than simply ``myapp/models.py``, Django would look for :ref:`initial SQL data
 | 
				
			||||||
<initial-sql>` in ``myapp/models/sql/``. This bug has been fixed so that Django
 | 
					<initial-sql>` in ``myapp/models/sql/``. This bug has been fixed so that Django
 | 
				
			||||||
will search ``myapp/sql/`` as documented. The old location will continue to
 | 
					will search ``myapp/sql/`` as documented. After this issue was fixed, migrations
 | 
				
			||||||
work until Django 1.9.
 | 
					were added which deprecates initial SQL data. Thus, while this change still
 | 
				
			||||||
 | 
					exists, the deprecation is irrelevant as the entire feature will be removed in
 | 
				
			||||||
 | 
					Django 1.9.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Reorganization of ``django.contrib.sites``
 | 
					Reorganization of ``django.contrib.sites``
 | 
				
			||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue