2011-10-28 13 views
3

私は1つのメインdbを持っています。そこには、それぞれのクライアント自身のdb接続が格納されています。 したがって、すべてのクライアントは2 db:mainと独自のdbで動作します。その接続はhttp呼び出しごとに と決定する必要があります。フラスコのsqlalchemy拡張を使用してこれを行うにはどうすればよいですか、純粋にsqlalchemyの かもしれませんか?フラスコ - 動的データベース接続を使用するsqlalchemy

+0

これらの2つのデータベースは同じデータを共有していますか? – plaes

答えて

5

あなたはフラスコSQLAlchemyの中で複数のセッションを処理することができます

engine = create_engine(DATABASE_URI) 
db_session = scoped_session(sessionmaker(autocommit=False, 
            autoflush=False, 
            bind=engine)) 
db_session.query...() 

engine2 = create_engine(DATABASE_URI2) 
db_session2 = scoped_session(sessionmaker(autocommit=False, 
            autoflush=False, 
            bind=engine2)) 

db_session2.query2...() 

が同じコードベースを共有しています。

+1

このコードは、Flask-SQLAlchemyの処理方法を反映しておらず、SQLAlchemyを直接使用しています。 –

+0

そうですね、コードはプレーンなSQLAlchemyだけですが、質問はFlask-SQLAlchemyの使用に特化していませんでした。とにかく、ラッパーを使って作業するのは簡単です。また、両方を同じコードベースで使用することもできます。 – manelvf

関連する問題