Метод has_sequence
Метод has_sequence класса Inspector
проверяет, существует ли последовательность
с указанным именем в базе данных. Первым
параметром метод принимает имя последовательности
в виде строки. Вторым необязательным параметром
передается имя схемы. Метод возвращает
логическое значение True или False.
Синтаксис
inspector.has_sequence(sequence_name, [schema])
Пример
Давайте создадим движок и инспектор для базы
SQLite в памяти, а затем проверим
существование последовательности:
from sqlalchemy import create_engine, inspect
engine = create_engine('sqlite:///:memory:')
inspector = inspect(engine)
res = inspector.has_sequence('article')
print(res)
Результат выполнения кода:
False
Пример
Давайте создадим последовательность в базе
данных PostgreSQL и проверим ее
существование через инспектор:
from sqlalchemy import create_engine, inspect, text
engine = create_engine('postgresql://user:pass@localhost/db')
with engine.connect() as conn:
conn.execute(text('CREATE SEQUENCE article_seq'))
conn.commit()
inspector = inspect(engine)
res = inspector.has_sequence('article_seq')
print(res)
Результат выполнения кода:
True
Пример
Давайте проверим последовательность с указанием схемы:
from sqlalchemy import create_engine, inspect
engine = create_engine('postgresql://user:pass@localhost/db')
inspector = inspect(engine)
res = inspector.has_sequence('article_seq', schema='public')
print(res)
Результат выполнения кода:
True
Смотрите также
-
класс
Inspector,
который предоставляет доступ к метаданным базы -
метод
get_sequence_names,
который возвращает список всех последовательностей -
метод
has_table,
который проверяет существование таблицы -
метод
has_schema,
который проверяет существование схемы