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

Метод dispose

Метод dispose класса Engine закрывает пул соединений и освобождает все ресурсы, связанные с движком базы данных. После вызова этого метода движок можно использовать снова - при следующем обращении к базе будет создан новый пул соединений. Метод не принимает обязательных параметров и возвращает None.

Синтаксис

engine.dispose()

Пример

Давайте создадим движок для базы SQLite в памяти, выполним запрос, а затем закроем пул соединений методом dispose:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: res = conn.execute(text('SELECT 1')) print(res.scalar()) engine.dispose() print('Pool disposed')

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

1 "Pool disposed"

Пример

Давайте убедимся, что после вызова dispose движок продолжает работать - при новом подключении создаётся свежий пул соединений:

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 VALUES (1, 'article')")) conn.commit() engine.dispose() with engine.connect() as conn: res = conn.execute(text('SELECT title FROM articles')) print(res.scalar())

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

"article"

Пример

Давайте посмотрим на атрибут pool до и после вызова метода dispose:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('SELECT 1')) pool_before = engine.pool engine.dispose() pool_after = engine.pool print(pool_before is pool_after)

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

True

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

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