Если вы хотите выбрать серверную часть базы данных для одного запроса, хороший вариант - сначала позвонить meta.Session(bind=get_engine_for_this_request())
. Это создаст сеанс с указанными параметрами. Вы можете вставить это в BaseController, если это имеет смысл в вашем случае.
Для нескольких бэкэндов на один запрос лучший подход зависит от вашего конкретного варианта использования. Если все бэкэнды имеют одинаковую схему, вероятно, лучше всего создать несколько ScopedSessions, по одному для каждого бэкенда. Когда они содержат разные схемы, вы можете создать несколько объектов MetaData (или базовых классов в случае декларативного) и связать их с механизмами.