Fixed #4869 -- Added a note that syncdb does not alter existing tables. Thanks,
James Bennett. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5692 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9fa91e0ab3
commit
d48a39650f
|
@ -400,6 +400,19 @@ install them in the database. This includes any apps shipped with Django that
|
|||
might be in ``INSTALLED_APPS`` by default. When you start a new project, run
|
||||
this command to install the default apps.
|
||||
|
||||
.. admonition:: Syncdb will not alter existing tables
|
||||
|
||||
``syncdb`` will only create tables for models which have not yet been
|
||||
installed. It will *never* issue ``ALTER TABLE`` statements to match
|
||||
changes made to a model class after installation. Changes to model classes
|
||||
and database schemas often involve some form of ambiguity and, in those
|
||||
cases, Django would have to guess at the correct changes to make. There is
|
||||
a risk that critical data would be lost in the process.
|
||||
|
||||
If you have made changes to a model and wish to alter the database tables
|
||||
to match, use the ``sql`` command to display the new SQL structure and
|
||||
compare that to your existing table schema to work out the changes.
|
||||
|
||||
If you're installing the ``django.contrib.auth`` application, ``syncdb`` will
|
||||
give you the option of creating a superuser immediately.
|
||||
|
||||
|
|
Loading…
Reference in New Issue