2007-07-21

SAContextで複数DB

昨日のTODOに挙げていた、「SAContextのまとまったドキュメント探し」であるが、SAContextのソースの冒頭のコメントがすごくまとまっていることに気づいた。
特に、複数DBの扱いも当然のように書かれていることはとても好印象だ。

ちょっと試してみたのがこれ↓


ayu@~% python
Python 2.5.1 (r251:54863, Jun 17 2007, 08:50:55)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from sqlalchemy import *
>>> from sacontext import *
>>> sac = SAContext()
>>> sac.add_engine("DB1", "mysql://ayu:ayu@localhost/test")
(, MetaData())
>>> sac.add_engine("DB2", "mysql://ayu:ayu@localhost/test2")
(, MetaData())
>>> table1 = Table("table1", sac.get_metadata("DB1"), autoload=True)
>>> table2 = Table("table2", sac.get_metadata("DB2"), autoload=True)
>>>


これで、会社で使うのに何の問題もなくなった。