Fixed #2166 - Use "manage.py dbshell" as the portable way to pipe commands to

the database. Thanks Paolo.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@3132 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2006-06-16 13:37:26 +00:00
parent 062bae3bb3
commit cc56d65c6e
1 changed files with 6 additions and 8 deletions

View File

@ -406,18 +406,16 @@ If I make changes to a model, how do I update the database?
----------------------------------------------------------- -----------------------------------------------------------
If you don't mind clearing data, just pipe the output of the appropriate If you don't mind clearing data, just pipe the output of the appropriate
``django-admin.py sqlreset`` command into your database's command-line utility. ``manage.py sqlreset`` command into your database's command-line utility.
For example:: For example::
django-admin.py sqlreset appname | psql dbname manage.py sqlreset appname | manage.py dbshell
That "psql" assumes you're using PostgreSQL. If you're using MySQL, use the ``manage.py sqlreset`` outputs SQL that clears the app's database
appropriate command-line utility, ``mysql``.
``django-admin.py sqlreset`` outputs SQL that clears the app's database
table(s) and creates new ones. The above command uses a Unix pipe to send the table(s) and creates new ones. The above command uses a Unix pipe to send the
SQL directly to the PostgreSQL command-line utility, which accepts SQL as SQL directly to the database command-line utility, which accepts SQL as
input. input (``manage.py dbshell`` will launch the appropriate tool for the database
configured in ``settings.py``).
If you do care about deleting data, you'll have to execute the ``ALTER TABLE`` If you do care about deleting data, you'll have to execute the ``ALTER TABLE``
statements manually in your database. That's the way we've always done it, statements manually in your database. That's the way we've always done it,