Метод 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-запросов