РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
7 of 711 menu

Метод update_execution_options класса Engine

Метод update_execution_options класса Engine обновляет словарь опций выполнения движка. Первым параметром метод принимает произвольный набор именованных аргументов **opt, которые добавляются или перезаписывают существующие опции. В отличие от метода execution_options, который возвращает новый объект движка, update_execution_options изменяет текущий движок на месте и возвращает None.

Синтаксис

Engine.update_execution_options(**opt)

Пример

Давайте создадим движок для базы SQLite в памяти и обновим опцию isolation_level:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') res = engine.update_execution_options(isolation_level='SERIALIZABLE') print(res) print(engine.get_execution_options())

Результат выполнения кода:

None {'isolation_level': 'SERIALIZABLE'}

Пример

Давайте обновим сразу несколько опций выполнения и применим их к запросу:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') engine.update_execution_options( isolation_level='SERIALIZABLE', no_parameters=True, ) print(engine.get_execution_options()) with engine.connect() as conn: res = conn.execute(text('SELECT 1')) print(res.scalar())

Результат выполнения кода:

{'isolation_level': 'SERIALIZABLE', 'no_parameters': True} 1

Пример

Давайте обновим опцию isolation_level после подключения и выполним запрос к таблице articles:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('CREATE TABLE articles (id INTEGER, title TEXT)')) conn.execute(text("INSERT INTO articles (id, title) VALUES (1, 'article')")) conn.commit() engine.update_execution_options(isolation_level='SERIALIZABLE') print(engine.get_execution_options()) with engine.connect() as conn: res = conn.execute(text('SELECT title FROM articles')) print(res.fetchall())

Результат выполнения кода:

{'isolation_level': 'SERIALIZABLE'} [('article',)]

Смотрите также

  • класс Engine,
    который представляет движок базы данных
  • метод execution_options,
    который возвращает новый движок с заданными опциями
  • метод connect,
    который открывает соединение с базой
  • атрибут echo,
    который включает вывод SQL-запросов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить