グローバルオブジェクト(マッパー、メタデータ)をユーザー固有の接続にバインドするのは良い方法ではありません。スコープセッションを使用するだけでなく。リクエストごとに新しいセッションを作成し、ユーザー固有の接続を使用するように構成することをお勧めします。次のサンプルは、データベースごとに個別のメタデータオブジェクトを使用することを前提としています。
binds = {}
finance_engine = create_engine(url1)
binds.update(dict.fromkeys(finance_metadata.sorted_tables, finance_engine))
# The following line is required when mappings to joint tables are used (e.g.
# in joint table inheritance) due to bug (or misfeature) in SQLAlchemy 0.5.4.
# This issue might be fixed in newer versions.
binds.update(dict.fromkeys([Employee, Customer, Invoice], finance_engine))
staff_engine = create_engine(url2)
binds.update(dict.fromkeys(staff_metadata.sorted_tables, staff_engine))
# See comment above.
binds.update(dict.fromkeys([Project, Hour], staff_engine))
session = sessionmaker(binds=binds)()