Выберите данные в Engine Connect - PullRequest
0 голосов
/ 06 февраля 2020

В моем проекте я использовал одну базу данных для каждой вещи (пользователи, клиенты, датчики, sensor_data и т. Д. c), но теперь я разделяю базу данных на пользователей, клиентов ... и данные. в таблицах данных мне нужны необработанные пользовательские SQL запросы, например:

def between(sensor_id, datetime_1: datetime, datetime_2: datetime):
     data = createDbTable(sensor_id)
     s = data.select().where(data.c.datetime.between(datetime_1, datetime_2)).order_by(data.c.datetime)
     with db.engine.connect() as con:
         conResult = con.execute(s)
         result = DataModel(sensor_id, dict_output=False)
         for item in conResult:
             result.append(DataStruct(item[0], item[1]))
         return result

Я сомневаюсь, «Как я могу выбрать базу данных в db.engine.connect?». Моя конфигурация базы данных такая:

SQLALCHEMY_DATABASE_URI = database_url(user='api_user',
                                           password='...',
                                           server='...',
                                           database='Project')
SQLALCHEMY_BINDS = {
     'data': database_url(user='api_user',
                          password='...',
                          server='...',
                          database='ProjectData')
 }


...