Что такое MetaData в SQLAlchemy
Python
Middle
Без компании
Что такое MetaData в SQLAlchemy
Ответы
Metadata в SQLAlchemy — это объект, который содержит информацию о структуре базы данных: таблицах, колонках, индексах и других элементах. Он служит центральным хранилищем для описания схемы БД и используется для создания/управления таблицами.
Пример:
```
from sqlalchemy import MetaData, Table, Column, Integer, String
metadata = MetaData() # Создание объекта Metadata
users = Table(
'users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50)),
Column('age', Integer)
)
# Создание всех таблиц из metadata
metadata.create_all(engine)
```
Ключевые особенности:
- Позволяет описывать схему БД декларативно
- Поддерживает отражение (reflection) существующей БД
- Может использоваться как в Core, так и в ORM
- В ORM обычно используется через `declarative_base()`
Metadata особенно полезен при миграциях и работе с несколькими БД.