flask-sqlalchemy с динамическими подключениями к базе данных - PullRequest
4 голосов
/ 28 октября 2011

У меня есть одна основная база данных, в которой хранится собственная база данных каждого клиента.Таким образом, каждый клиент работает с 2 дБ: основным и своим собственным дБ, соединение с которым необходимо выбирать для каждого http-вызова.Как я могу сделать это с помощью расширения flask-sqlalchemy, или может быть чисто в sqlalchemy?

1 Ответ

6 голосов
/ 30 января 2012

Вы можете обрабатывать несколько сеансов в Flask-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...()

, используя одну и ту же кодовую базу.

...