Как выполнить запрос на простое вертикальное разбиение в sqlalchemy, используя Python - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь работать с несколькими базами данных и схемами, используя простое вертикальное разбиение в sqlalchemy и python.

Создано два ядра базы данных и успешно настроено для sessionmaker ()

Session = sessionmaker()
Session.configure(binds={BaseA:engine1, BaseB:engine2})

Возможность получить успешно сгенерированный SQL-запрос

driverssql = session.query(drivers)

но когда я выполняю приведенный выше запрос для получения запроса, я получаю следующую ошибку:

= session.execute ResultSet (driversql)

sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on SQL expression or this Session  (how can i associate the correct engine with execute statement)

1 Ответ

0 голосов
/ 17 января 2019

Я вижу здесь два варианта:

  1. Здесь вы можете создать 2 создателей сессий и использовать их отдельно в зависимости от движка.
  2. При выполнении запроса вы можете выбрать необходимый движок:

    engine1 = create_engine(first_db)
    engine2 = create_engine(second_db)
    session.execute(drivers, bind=engine1)
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...