On Jan 23, 10:36 am, "Max Ischenko" <[EMAIL PROTECTED]> wrote:
> As far as I understand, I need a session per database. In Pylons, I get
> it "for free" via session_context binding. In other words, I have setup
> a session_context object for each of the database I need to work with.

youd need a separate engine for each database.  since different 
connection strings and all that.  A single Session can in fact talk to 
multiple databases at once, so im not sure if multiple sessions/
sessioncontexts are really required (however, i can see how it may be 
the most intuitive approach to just use separate sessions).

>
> Do I need to use separate DynamicMetaData() for each db conn? Do I need
> to connect single metadata to the correct session? SA docs shows how to
> connect metadata to a engine but all I have is a session.
>

OK i think talking to multiple DB's is a little involved and there is 
currently no official "pattern" to this.  it also depends on how your 
multiple DB's relate to your classes.  for example, if you have 
certain classes that are stored in certain DB's, you can map quite 
easily using just regular BoundMetaData instances:

metadata1 = BoundMetaData('foo://database1')
metadata2 = BoundMetaData('foo://database2')

table1 = Table('table1', metadata1, autoload=True)
table2 = Table('table2', metadata2, autoload=True)

mapper(ClassA, table1)
mapper(ClassB, table2)

...and youre done.  You can use just one Session that has ClassA and 
ClassB in it at the same time.  So, we have a lot of possibilities 
here, but app configs and database configs can vary greatly so it may 
be a little bit overwhelmingly open ended.


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to