From 5f49d67427fec2502e70ec80f44d6b3763ffb5a8 Mon Sep 17 00:00:00 2001 From: James Bennett Date: Sat, 1 Dec 2007 17:44:59 +0000 Subject: [PATCH] Fixed #5776: Added an explanation of when and why Django might need ALTER TABLE privileges to docs/install.txt git-svn-id: http://code.djangoproject.com/svn/django/trunk@6794 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/install.txt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/install.txt b/docs/install.txt index 08444d3a1a..7564f640be 100644 --- a/docs/install.txt +++ b/docs/install.txt @@ -73,13 +73,17 @@ installed. If you plan to use Django's ``manage.py syncdb`` command to automatically create database tables for your models, you'll need to -ensure that Django has permission to create tables in the database -you're using; if you plan to manually create the tables, you can -simply grant Django ``SELECT``, ``INSERT``, ``UPDATE`` and ``DELETE`` -permissions. Django does not issue ``ALTER TABLE`` statements, and so -will not require permission to do so. If you will be using Django's -`testing framework`_ with data fixtures, Django will need permission -to create a temporary test database. +ensure that Django has permission to create and alter tables in the +database you're using; if you plan to manually create the tables, you +can simply grant Django ``SELECT``, ``INSERT``, ``UPDATE`` and +``DELETE`` permissions. On some databases, Django will need to have +``ALTER TABLE`` privileges during ``syncdb`` (in order to create +foreign key constraints properly on databases which do not allow them +to be deferred), but will not issue ``ALTER TABLE`` statements on a +table once ``syncdb`` has finished setting it up. + +If you will be using Django's `testing framework`_ with data fixtures, +Django will need permission to create a temporary test database. .. _PostgreSQL: http://www.postgresql.org/ .. _MySQL: http://www.mysql.com/