On Tue, Sep 8, 2009 at 1:17 PM, gsk<[email protected]> wrote:
>
> Hi,
> Newbie question: I am using SqlAlchemy for Postgresql backend. I have
> setup a schema in the db where all the tables I need exist. So, I have
> the ORM class as below where I would dynamically pass the value for
> the schema:
>
> class Foo(Base):
>    __tablename__ = 'foo_table'
>    __table_args__ = {'schema': someschema}
>
> ...
>
> I have put the db schema value in test.ini file hoping to use
> pylons.config. But, apparently, Pylons config object is not yet setup
> when model/__init__.py is initialized. Any suggestions on how I could
> get around this? (I've hardcoded the schema at the moment but need to
> parameterize as the dev and test environments use different postgresql
> schema spaces)

Er, I'm not sure if you can do that.  The normal configuration is for
environment.py to call init_model(), at which point the configuration
is ready.  (Although most init_model calls pass the needed values
directly as arguments.)  But in this case you're trying to set
something at the class level before init_model is called.  init_model
could change the table object dynamically, if that's possible.

The general workaround is to put the table definitions inside
init_model, and have init_model assign them to global variables.
People do that to map autoloaded tables to ORM classes.

-- 
Mike Orr <[email protected]>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" 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/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to