Атрибут engine класса Connection
Атрибут engine класса Connection возвращает
объект Engine, из которого было создано
данное соединение. Атрибут доступен только для
чтения и не принимает параметров. Через него можно
получить информацию о URL подключения, диалекте
СУБД и настройках движка прямо из активного
соединения.
Синтаксис
connection.engine
Пример
Давайте откроем соединение с базой SQLite
в памяти и получим движок через атрибут
engine:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
print(conn.engine)
Результат выполнения кода:
"Engine(sqlite:///:memory:)"
Как видно, атрибут возвращает тот же самый объект
движка, который был создан функцией create_engine.
Пример
Давайте сравним движок соединения с исходным
движком через оператор is:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
print(conn.engine is engine)
Результат выполнения кода:
True
Это подтверждает, что атрибут возвращает ссылку на исходный объект движка, а не его копию.
Пример
Давайте получим URL подключения из движка, доступного через соединение:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
print(conn.engine.url)
Результат выполнения кода:
"sqlite:///:memory:"
Смотрите также
-
класс
Connection,
который представляет соединение с базой данных -
атрибут
dialect,
который возвращает диалект соединения -
атрибут
closed,
который показывает, закрыто ли соединение -
атрибут
info,
который хранит пользовательские данные соединения