#sqlalchemy #flask #flask-sqlalchemy
#sqlalchemy #flask #flask-sqlalchemy
Вопрос:
У меня есть одна основная база данных, в которой хранится собственное соединение с базой данных каждого клиента. Таким образом, каждый клиент работает с 2 БД: основной и собственной БД, подключение к которой должно определяться для каждого http-вызова. Как я могу это сделать, используя расширение flask-sqlalchemy или может быть чисто в sqlalchemy?
Комментарии:
1. Эти две базы данных используют одни и те же данные?
Ответ №1:
Вы можете обрабатывать несколько сеансов в 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...()
совместное использование одной и той же кодовой базы.
Комментарии:
1. этот код отражает не то, как это было бы сделано с помощью Flask-SQLAlchemy, а, в частности, непосредственно с помощью SQLAlchemy.
2. Верно, код предназначен только для простой SQLAlchemy, но вопрос не касался использования Flask-SQLAlchemy. В любом случае заставить его работать с оболочкой должно быть легко. Кроме того, вы также можете использовать оба в одной и той же кодовой базе.