Something else must be importing those modules when run from pylons. If you
really want to know how they are getting imported, stick something in the
module which will raise an exception when it is imported (eg type blah blah
blah at the top of the module) and look at the traceback.
Cheers,
Simon
-Original Message-
From: sqlalchemy@googlegroups.com [mailto:sqlalchemy@googlegroups.com] On
Behalf Of 371c
Sent: 30 March 2011 16:00
To: sqlalchemy
Subject: [sqlalchemy] Re: sqlalchemy.exc.NoReferencedTableError: Could not find
table with which to generate a foreign key
Actually that helps alot and i had infact resolved to and was in the
process of doing so (i know that about python modules.. ;) but i
might be missing something)
But, why does this work in the context of an application (eg. pylons
app). Basically, calling Base.create_all() in some init_db method of
an application
works without having to import all the modules in, say,
myapp.models.__init__.py
Suggestions are welcome, though i'm considering the question answered
Thanks alot and Regards,
On Mar 30, 4:39 pm, King Simon-NFHD78
simon.k...@motorolasolutions.com wrote:
This is just the way Python works - code inside a module is only
executed when that module is imported. If you don't import
myapp.models.notes, then the class definitions never get executed.
One solution is to import all the sub-modules in your bootstrap.py
before calling create_all. Another is importing the submodules inside
the myapp/models/__init__.py
Hope that helps,
Simon
-Original Message-
From: sqlalchemy@googlegroups.com [mailto:sqlalchemy@googlegroups.com]
On Behalf Of eric cire
Sent: 30 March 2011 14:57
To: sqlalchemy
Subject: [sqlalchemy] Re: sqlalchemy.exc.NoReferencedTableError: Could
not find table with which to generate a foreign key
After investigating further, i have the impression that the problem
occurs when models are in different modules (notes.py users.py in this
case) but if the models are in the same module eg.
myapp.models.__init__.py, the tables are created.
I'd still like to know why this is happening because i don't intend to
put al my models in the same module..
Thanks,
On Wed, Mar 30, 2011 at 3:36 PM, 371c 371c@gmail.com wrote:
Hi,
I have the following setup:
myapp.models.notes.py
Note model defined here using declarative base
myapp.models.users.py
User model defined here using declarative base
myapp.models.meta.py
Base and DBSession defined here to avoid circular imports...
myapp.lib.bootstrap.py
Called to initialize the database with some initial data. The
following is done:
create an engine (sqlite:///notes.db)
call Base.create_all(bind=engine)
The Base class is the same for the models and the bootstrap.py
module,
but i still get a noreferencedtableerror...
it basically doesn't create the database tables when
bootstrap.py is
called..
Any ideas ?
Regards,
--
You received this message because you are subscribed to the Google
Groups sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group
athttp://groups.google.com/group/sqlalchemy?hl=en.
--
You received this message because you are subscribed to the Google Groups
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.
--
You received this message because you are subscribed to the Google Groups
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.