Атрибут engine класса Inspector
Атрибут engine класса Inspector возвращает объект
Engine,
с которым связан инспектор базы данных. Инспектор создается
методом inspect или через движок, и атрибут engine
позволяет получить исходный движок подключения. Это удобно,
когда нужно вернуться от инспектора к движку, чтобы открыть
соединение или выполнить запрос. Параметров у атрибута нет,
он доступен только для чтения.
Синтаксис
inspector.engine
Пример
Давайте создадим движок для базы SQLite в памяти
и получим инспектор, а затем выведем связанный с ним движок:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
print(inspector.engine)
Результат выполнения кода:
"Engine(sqlite:///:memory:)"
Пример
Давайте убедимся, что атрибут engine возвращает
тот же объект движка, который был передан в inspect:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
print(inspector.engine is engine)
Результат выполнения кода:
True
Пример
Давайте используем атрибут engine, чтобы открыть
соединение и выполнить запрос через инспектор:
from sqlalchemy import create_engine, inspect, text
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
with inspector.engine.connect() as conn:
res = conn.execute(text('SELECT 1'))
print(res.scalar())
Результат выполнения кода:
1
Пример
Давайте создадим таблицу, получим инспектор и выведем имя диалекта через связанный движок:
from sqlalchemy import create_engine, inspect, text
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
conn.execute(text('CREATE TABLE articles (id INTEGER PRIMARY KEY, title TEXT)'))
conn.commit()
inspector = inspect(engine)
print(inspector.engine.dialect.name)
Результат выполнения кода:
"sqlite"
Смотрите также
-
класс
Inspector,
который представляет инспектор базы данных -
атрибут
dialect,
который возвращает диалект инспектора -
атрибут
default_schema_name,
который возвращает имя схемы по умолчанию -
метод
get_table_names,
который возвращает список таблиц базы