Order of database setup and Django install unclear
|Reported by:||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
In the detailed installation instructions docs.djangoproject.com/en/dev/topics/install/ it says
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 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
ALTER TABLE privileges during syncdb but won't issue ALTER TABLE statements
on a table once syncdb has created it.
And, this paragraph comes before the steps to install the Django framework. Because of this, I asked a question on stackoverflow about how I would go about setting up PostgreSQL to give Django the right permissions. I had already installed PostgreSQL, got the server running, created a role that had the necessary permissions, and went through a tutorial in the PostgreSQL manual. But, although I knew how to create roles in general, I didn't know what specific role Django might expect to have been created for it or how to tell Django to use PostgreSQL. The paragraph I quoted above made it seem to me that this needed to be done before I installed the Django framework. I was thinking otherwise the installation wouldn't be done properly and it wouldn't use PostgreSQL or wouldn't have the right permissions.
The way to fix this so others don't have this confusion is to add a little more to that paragraph explaining:
1) Install the Django framework first.
2) For each Django project, make sure there's a user/role defined in the database that has the permissions Django would need.
3) Specify the user/role in the Django's settings.py. More on that is in Django tutorial
Change History (6)
comment:2 Changed 4 years ago by
|Summary:||docs.djangoproject.com/en/dev/topics/install/ "you'll need to ensure that Django has permission to create and alter tables in the database you're using" makes it seem like there's more to do with the database before installing Django framework → Order of database setup and Django install unclear|
|Type:||Bug → Cleanup/optimization|
|Version:||1.4 → master|