Метод exists класса Table
Метод exists класса Table проверяет,
существует ли таблица в базе данных. Он возвращает
булево значение: True, если таблица существует,
и False в противном случае. Метод принимает
необязательный параметр bind, в который
передается движок или соединение с базой данных.
Синтаксис
Table.exists(bind=None)
Пример
Давайте создадим таблицу articles и проверим
ее существование в базе данных:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
print(articles.exists(engine))
Результат выполнения кода:
False
Пример
Давайте создадим таблицу в базе данных методом create
и снова проверим ее существование:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
articles.create(engine)
print(articles.exists(engine))
Результат выполнения кода:
True
Пример
Давайте проверим существование таблицы с помощью
соединения, переданного в параметр bind:
from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
engine = create_engine('sqlite:///:memory:')
metadata = MetaData()
articles = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String),
)
articles.create(engine)
with engine.connect() as conn:
res = articles.exists(conn)
print(res)
Результат выполнения кода:
True