Browse files

Fixed #4869 -- Added a note that syncdb does not alter existing tabl…

…es. Thanks,

James Bennett.

git-svn-id: bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
malcolmt committed Jul 14, 2007
1 parent 9fa91e0 commit d48a39650f006b9cac4fc0802462780c8f10667e
Showing with 13 additions and 0 deletions.
  1. +13 −0 docs/django-admin.txt
@@ -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.

0 comments on commit d48a396

Please sign in to comment.