#2225: 'manage.py sql ...' gets confused when using tables from separate apps
---------------------------------------------------+------------------------
Reporter: Lucas Hazel | Owner:
glassresistor
Status: new | Milestone:
Component: Database layer (models, ORM) | Version: SVN
Resolution: | Keywords:
Stage: Accepted | Has_patch: 0
Needs_docs: 0 | Needs_tests: 0
Needs_better_patch: 0 |
---------------------------------------------------+------------------------
Comment (by glassresistor):
After looked through the logs from a postgres 8.4 database I found that
the actual queries used to create the 3 tables above through syncdb does
not include the alter statement but instead is just a part of the create
statement. Syncdb seems to check the full project space while sql,
sqlall, sqlreset, since they take in apps as arguments loop through the
listed apps and inside that, loops through models internal to the apps
themselves. I propose that sqls behaviour be changed such that the models
list get concatenated such that sql would in the case of sql app2 spit out
-- The following references should be added but depend on non-existent
tables:
but sql app1 app2 would spit out Create table statements without
mentioning an alter which doesn't get done.
{{{
618-2009-12-13 10:27:27 EST LOG: statement: CREATE TABLE "app1_a" (
619- "id" serial NOT NULL PRIMARY KEY,
620- "article_body" text NOT NULL
621- )
622- ;
623-2009-12-13 10:27:27 EST LOG: statement: CREATE TABLE "app1_c" (
624- "id" serial NOT NULL PRIMARY KEY,
625- "key_id" integer NOT NULL REFERENCES "app1_a" ("id")
DEFERRABLE INITIALLY DEFERRED
626- )
627- ;
628:2009-12-13 10:27:27 EST LOG: statement: CREATE TABLE "app2_b" (
629- "id" serial NOT NULL PRIMARY KEY,
630- "a_id" integer NOT NULL REFERENCES "app1_a" ("id") DEFERRABLE
INITIALLY DEFERRED
631- )
632- ;
}}}
--
Ticket URL: <http://code.djangoproject.com/ticket/2225#comment:6>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.