Метод clear класса MetaData
Метод clear класса MetaData удаляет
все объекты Table и связанные с ними объекты
из коллекции метаданных. Метод не принимает параметров
и возвращает None. После вызова коллекция
tables становится пустой, а все таблицы,
которые ранее были связаны с данным объектом
MetaData, отвязываются от него.
Синтаксис
metadata.clear()
Пример
Давайте создадим объект MetaData,
добавим в него несколько таблиц и посмотрим
на содержимое коллекции tables:
from sqlalchemy import MetaData, Table, Column, Integer, String
metadata = MetaData()
user = Table(
'user',
metadata,
Column('id', Integer, primary_key=True),
Column('name', String)
)
article = Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
print(list(metadata.tables.keys()))
Результат выполнения кода:
['user', 'articles']
Пример
Теперь давайте вызовем метод clear
и убедимся, что коллекция таблиц опустела:
from sqlalchemy import MetaData, Table, Column, Integer, String
metadata = MetaData()
Table(
'user',
metadata,
Column('id', Integer, primary_key=True),
Column('name', String)
)
Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
metadata.clear()
print(list(metadata.tables.keys()))
Результат выполнения кода:
[]
Пример
Давайте проверим, что после вызова clear
можно заново наполнить метаданные новыми таблицами:
from sqlalchemy import MetaData, Table, Column, Integer, String
metadata = MetaData()
Table(
'user',
metadata,
Column('id', Integer, primary_key=True),
Column('name', String)
)
metadata.clear()
Table(
'articles',
metadata,
Column('id', Integer, primary_key=True),
Column('title', String)
)
print(list(metadata.tables.keys()))
Результат выполнения кода:
['articles']
Смотрите также
-
класс
MetaData,
который хранит коллекцию таблиц и другую информацию о схеме -
метод
remove,
который удаляет одну конкретную таблицу из метаданных -
атрибут
tables,
который хранит словарь всех таблиц метаданных -
метод
create_all,
который создает все таблицы в базе данных