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
-~----------~----~----~----~------~----~------~--~---