Атрибут default_schema_name
Атрибут default_schema_name класса Inspector
возвращает строку с именем схемы по умолчанию
для текущего соединения с базой данных.
Если СУБД не поддерживает понятие схемы или
схема по умолчанию не определена, атрибут
возвращает значение None. Атрибут доступен
только для чтения и вычисляется при создании
инспектора.
Синтаксис
inspector.default_schema_name
Пример
Давайте создадим инспектор для базы SQLite
в памяти и выведем имя схемы по умолчанию:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
print(inspector.default_schema_name)
Результат выполнения кода:
"main"
Пример
Давайте создадим таблицу и проверим, что схема по умолчанию позволяет инспектору находить объекты без явного указания схемы:
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)
schema = inspector.default_schema_name
print(schema)
print(inspector.get_table_names(schema=schema))
Результат выполнения кода:
"main"
['articles']
Пример
Давайте создадим инспектор без привязки к схеме и сравним имя схемы по умолчанию со списком всех доступных схем:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
print(inspector.default_schema_name)
print(inspector.get_schema_names())
Результат выполнения кода:
"main"
['main']
Смотрите также
-
класс
Inspector,
который предоставляет доступ к метаданным базы данных -
метод
get_schema_names,
который возвращает список всех схем базы -
метод
get_table_names,
который возвращает имена таблиц выбранной схемы -
атрибут
dialect,
который содержит информацию о диалекте СУБД