Метод get_schema_names
Метод get_schema_names класса Inspector
возвращает список имен всех схем, доступных в
подключенной базе данных. Схема - это логическая
группа объектов базы, таких как таблицы, представления
и последовательности. Метод не принимает параметров
и возвращает список строк. Порядок схем в списке
зависит от диалекта СУБД.
Синтаксис
inspector.get_schema_names()
Пример
Давайте создадим инспектор для базы SQLite
в памяти и получим список схем:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
res = inspector.get_schema_names()
print(res)
Результат выполнения кода:
['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 VARCHAR(100)'
')'
))
conn.commit()
inspector = inspect(engine)
res = inspector.get_schema_names()
print(res)
Результат выполнения кода:
['main']
Пример
Давайте проверим наличие конкретной схемы в
полученном списке с помощью оператора in:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
schemas = inspector.get_schema_names()
print('main' in schemas)
print('user' in schemas)
Результат выполнения кода:
True
False
Смотрите также
-
класс
Inspector,
который выполняет интроспекцию базы данных -
метод
get_table_names,
который возвращает имена таблиц в схеме -
метод
has_schema,
который проверяет наличие схемы в базе -
атрибут
default_schema_name,
который хранит имя схемы по умолчанию